From e49eae528cdf2d0dd8d7c60d2f228c4a8610a434 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Thu, 14 Mar 2019 14:17:26 +0300 Subject: [PATCH] IR: don't use descriptors in rendering (work in progress) There's some descriptor-based code remaining. Need some more work on IR. --- .../jetbrains/kotlin/ir/util/DumpIrTree.kt | 18 +- .../kotlin/ir/util/RenderIrElement.kt | 217 ++-- compiler/testData/ir/irCfg/expressionFun.txt | 8 +- compiler/testData/ir/irCfg/expressionUnit.txt | 8 +- .../testData/ir/irCfg/loop/digitCount.txt | 42 +- compiler/testData/ir/irCfg/loop/factorial.txt | 34 +- compiler/testData/ir/irCfg/loop/isPerfect.txt | 62 +- compiler/testData/ir/irCfg/returnUnit.txt | 8 +- compiler/testData/ir/irCfg/sequentialFun.txt | 14 +- compiler/testData/ir/irCfg/simpleFun.txt | 4 +- compiler/testData/ir/irCfg/simpleReturn.txt | 8 +- compiler/testData/ir/irCfg/when/cascadeIf.txt | 26 +- compiler/testData/ir/irCfg/when/emptyWhen.txt | 6 +- .../testData/ir/irCfg/when/expressionIf.txt | 20 +- compiler/testData/ir/irCfg/when/ifChain.txt | 146 +-- .../testData/ir/irCfg/when/whenReturn.txt | 62 +- .../dynamic/dynamicAndMembersOfAny.txt | 36 +- .../irJsText/dynamic/dynamicArrayAccess.txt | 24 +- .../dynamic/dynamicArrayAssignment.txt | 12 +- .../dynamicArrayAugmentedAssignment.txt | 14 +- .../dynamicArrayIncrementDecrement.txt | 20 +- .../dynamic/dynamicBinaryEqualityOperator.txt | 32 +- .../dynamic/dynamicBinaryLogicalOperator.txt | 20 +- .../dynamic/dynamicBinaryOperator.txt | 40 +- .../dynamicBinaryRelationalOperator.txt | 32 +- .../ir/irJsText/dynamic/dynamicCall.txt | 32 +- .../irJsText/dynamic/dynamicElvisOperator.txt | 16 +- .../dynamic/dynamicExclExclOperator.txt | 18 +- .../ir/irJsText/dynamic/dynamicInfixCall.txt | 16 +- .../irJsText/dynamic/dynamicMemberAccess.txt | 24 +- .../dynamic/dynamicMemberAssignment.txt | 22 +- .../dynamicMemberAugmentedAssignment.txt | 78 +- .../dynamicMemberIncrementDecrement.txt | 72 +- .../irJsText/dynamic/dynamicUnaryOperator.txt | 24 +- .../dynamic/dynamicWithImplicitCast.txt | 32 +- .../ir/irJsText/dynamic/invokeOperator.txt | 78 +- .../ir/irJsText/native/nativeNativeKotlin.txt | 116 +- .../ir/irText/classes/abstractMembers.txt | 111 +- .../ir/irText/classes/annotationClasses.txt | 185 ++- ...tReorderingInDelegatingConstructorCall.txt | 241 ++-- .../ir/irText/classes/classMembers.txt | 271 +++-- .../testData/ir/irText/classes/classes.txt | 194 ++-- .../ir/irText/classes/companionObject.txt | 121 +- .../classes/dataClassWithArrayMembers.txt | 1001 ++++++++-------- .../ir/irText/classes/dataClasses.txt | 783 +++++++------ .../ir/irText/classes/dataClassesGeneric.txt | 559 +++++---- .../classes/delegatedImplementation.txt | 613 +++++----- ...atedImplementationWithExplicitOverride.txt | 127 ++- ...gConstructorCallToTypeAliasConstructor.txt | 130 +-- ...onstructorCallsInSecondaryConstructors.txt | 75 +- compiler/testData/ir/irText/classes/enum.txt | 826 +++++++------- .../ir/irText/classes/enumClassModality.txt | 1006 ++++++++--------- .../irText/classes/enumWithSecondaryCtor.txt | 538 ++++----- .../testData/ir/irText/classes/initBlock.txt | 231 ++-- .../testData/ir/irText/classes/initVal.txt | 149 ++- .../testData/ir/irText/classes/initVar.txt | 381 ++++--- .../ir/irText/classes/inlineClass.txt | 102 +- .../testData/ir/irText/classes/innerClass.txt | 97 +- .../innerClassWithDelegatingConstructor.txt | 91 +- .../lambdaInDataClassDefaultParameter.txt | 321 +++--- .../ir/irText/classes/localClasses.txt | 41 +- .../classes/objectLiteralExpressions.txt | 297 +++-- .../irText/classes/objectWithInitializers.txt | 103 +- .../ir/irText/classes/outerClassAccess.txt | 129 ++- .../ir/irText/classes/primaryConstructor.txt | 217 ++-- ...aryConstructorWithSuperConstructorCall.txt | 169 ++- .../ir/irText/classes/qualifiedSuperCalls.txt | 153 ++- .../ir/irText/classes/sealedClasses.txt | 181 ++- ...nstructorWithInitializersFromClassBody.txt | 143 ++- .../irText/classes/secondaryConstructors.txt | 37 +- .../testData/ir/irText/classes/superCalls.txt | 107 +- .../annotationsInAnnotationArguments.txt | 165 ++- .../annotationsWithDefaultParameterValues.txt | 87 +- .../annotationsWithVarargParameters.txt | 59 +- .../arrayInAnnotationArguments.txt | 113 +- .../annotations/classLiteralInAnnotation.txt | 220 ++-- .../annotations/classesWithAnnotations.txt | 312 ++--- .../constExpressionsInAnnotationArguments.txt | 67 +- .../constructorsWithAnnotations.txt | 87 +- .../delegateFieldWithAnnotations.txt | 53 +- ...egatedPropertyAccessorsWithAnnotations.txt | 201 ++-- .../enumEntriesWithAnnotations.txt | 234 ++-- .../enumsInAnnotationArguments.txt | 144 +-- .../annotations/fieldsWithAnnotations.txt | 85 +- .../annotations/fileAnnotations.txt | 52 +- .../annotations/functionsWithAnnotations.txt | 51 +- .../annotations/javaAnnotation.txt | 13 +- ...ocalDelegatedPropertiesWithAnnotations.txt | 73 +- .../multipleAnnotationsInSquareBrackets.txt | 99 +- ...aryConstructorParameterWithAnnotations.txt | 79 +- .../annotations/propertiesWithAnnotations.txt | 61 +- ...ccessorsFromClassHeaderWithAnnotations.txt | 137 ++- .../propertyAccessorsWithAnnotations.txt | 115 +- ...propertySetterParameterWithAnnotations.txt | 117 +- .../receiverParameterWithAnnotations.txt | 100 +- .../spreadOperatorInAnnotationArguments.txt | 50 +- .../typeAliasesWithAnnotations.txt | 52 +- .../typeParametersWithAnnotations.txt | 35 +- .../valueParametersWithAnnotations.txt | 105 +- .../varargsInAnnotationArguments.txt | 208 ++-- .../annotations/variablesWithAnnotations.txt | 56 +- .../catchParameterInTopLevelProperty.txt | 17 +- .../declarations/classLevelProperties.txt | 238 ++-- .../declarations/constValInitializers.txt | 84 +- .../irText/declarations/defaultArguments.txt | 23 +- .../declarations/delegatedProperties.txt | 186 +-- .../declarations/extensionProperties.txt | 93 +- .../ir/irText/declarations/fakeOverrides.txt | 169 ++- .../declarations/fileWithAnnotations.txt | 17 +- .../declarations/interfaceProperties.txt | 77 +- .../ir/irText/declarations/kt27005.txt | 16 +- .../ir/irText/declarations/kt29833.txt | 64 +- .../declarations/localClassWithOverrides.txt | 149 ++- .../declarations/localDelegatedProperties.txt | 79 +- .../irText/declarations/localVarInDoWhile.txt | 11 +- .../multiplatform/expectClassInherited.txt | 149 ++- .../multiplatform/expectedEnumClass.txt | 166 +-- .../multiplatform/expectedSealedClass.txt | 113 +- .../declarations/packageLevelProperties.txt | 156 +-- .../irText/declarations/parameters/class.txt | 141 ++- .../declarations/parameters/constructor.txt | 327 +++--- .../parameters/dataClassMembers.txt | 217 ++-- .../parameters/defaultPropertyAccessors.txt | 195 ++-- .../parameters/delegatedMembers.txt | 138 +-- .../ir/irText/declarations/parameters/fun.txt | 75 +- .../parameters/genericInnerClass.txt | 70 +- .../declarations/parameters/lambdas.txt | 94 +- .../declarations/parameters/localFun.txt | 27 +- .../parameters/propertyAccessors.txt | 205 ++-- .../parameters/typeParameterBeforeBound.txt | 57 +- .../typeParameterBoundedBySubclass.txt | 143 ++- .../primaryCtorDefaultArguments.txt | 51 +- .../declarations/primaryCtorProperties.txt | 85 +- .../provideDelegate/differentReceivers.txt | 133 ++- .../declarations/provideDelegate/local.txt | 151 ++- .../localDifferentReceivers.txt | 121 +- .../declarations/provideDelegate/member.txt | 191 ++-- .../provideDelegate/memberExtension.txt | 166 +-- .../declarations/provideDelegate/topLevel.txt | 153 ++- .../ir/irText/declarations/typeAlias.txt | 37 +- .../irText/errors/suppressedNonPublicCall.txt | 43 +- .../ir/irText/errors/unresolvedReference.txt | 48 +- .../expressions/argumentMappedWithError.txt | 25 +- .../ir/irText/expressions/arrayAccess.txt | 43 +- .../ir/irText/expressions/arrayAssignment.txt | 22 +- .../expressions/arrayAugmentedAssignment1.txt | 144 +-- .../expressions/arrayAugmentedAssignment2.txt | 93 +- .../ir/irText/expressions/assignments.txt | 85 +- .../expressions/augmentedAssignment1.txt | 89 +- .../expressions/augmentedAssignment2.txt | 122 +- .../augmentedAssignmentWithExpression.txt | 74 +- .../irText/expressions/badBreakContinue.txt | 14 +- .../ir/irText/expressions/bangbang.txt | 47 +- .../expressions/booleanConstsInAndAndOrOr.txt | 25 +- .../irText/expressions/booleanOperators.txt | 53 +- .../testData/ir/irText/expressions/boxOk.txt | 4 +- .../ir/irText/expressions/breakContinue.txt | 7 +- .../expressions/breakContinueInLoopHeader.txt | 118 +- .../callWithReorderedArguments.txt | 57 +- .../callableReferenceToImportedFromObject.txt | 117 +- .../callableReferenceTypeArguments.txt | 88 +- .../testData/ir/irText/expressions/calls.txt | 75 +- .../expressions/castToTypeParameter.txt | 145 ++- .../expressions/catchParameterAccess.txt | 16 +- .../irText/expressions/chainOfSafeCalls.txt | 111 +- .../ir/irText/expressions/classReference.txt | 61 +- .../ir/irText/expressions/coercionToUnit.txt | 60 +- .../complexAugmentedAssignment.txt | 429 ++++--- .../ir/irText/expressions/contructorCall.txt | 45 +- .../expressions/conventionComparisons.txt | 137 ++- .../ir/irText/expressions/destructuring1.txt | 101 +- .../destructuringWithUnderscore.txt | 109 +- .../ir/irText/expressions/dotQualified.txt | 29 +- .../testData/ir/irText/expressions/elvis.txt | 128 +-- .../expressions/enumEntryAsReceiver.txt | 226 ++-- .../enumEntryReferenceFromEnumEntryClass.txt | 312 ++--- .../ir/irText/expressions/equality.txt | 45 +- .../irText/expressions/extFunInvokeAsFun.txt | 28 +- .../irText/expressions/extFunSafeInvoke.txt | 22 +- .../extensionPropertyGetterCall.txt | 21 +- .../testData/ir/irText/expressions/field.txt | 49 +- .../comparableWithDoubleOrFloat.txt | 53 +- .../eqeqRhsConditionPossiblyAffectingLhs.txt | 29 +- .../floatingPointCompareTo.txt | 243 ++-- .../floatingPointEqeq.txt | 261 +++-- .../floatingPointEquals.txt | 329 +++--- .../floatingPointExcleq.txt | 289 +++-- .../floatingPointLess.txt | 177 ++- .../nullableAnyAsIntToDouble.txt | 31 +- .../nullableFloatingPointEqeq.txt | 111 +- ...ParameterWithPrimitiveNumericSupertype.txt | 201 ++-- .../whenByFloatingPoint.txt | 155 ++- .../testData/ir/irText/expressions/for.txt | 85 +- .../expressions/forWithBreakContinue.txt | 113 +- .../expressions/forWithImplicitReceivers.txt | 201 ++-- .../expressions/funImportedFromObject.txt | 45 +- .../expressions/genericPropertyCall.txt | 27 +- .../ir/irText/expressions/identity.txt | 45 +- .../ir/irText/expressions/ifElseIf.txt | 15 +- .../implicitCastOnPlatformType.txt | 6 +- .../expressions/implicitCastToNonNull.txt | 80 +- .../implicitCastToTypeParameter.txt | 117 +- .../testData/ir/irText/expressions/in.txt | 61 +- .../irText/expressions/incrementDecrement.txt | 257 +++-- .../irText/expressions/interfaceThisRef.txt | 37 +- .../javaSyntheticPropertyAccess.txt | 50 +- .../expressions/jvmInstanceFieldReference.txt | 64 +- .../expressions/jvmStaticFieldReference.txt | 85 +- .../ir/irText/expressions/kt16904.txt | 248 ++-- .../ir/irText/expressions/kt16905.txt | 138 +-- .../ir/irText/expressions/kt23030.txt | 167 ++- .../ir/irText/expressions/kt24804.txt | 38 +- .../ir/irText/expressions/kt27933.txt | 30 +- .../ir/irText/expressions/kt28006.txt | 98 +- .../ir/irText/expressions/kt28456.txt | 124 +- .../ir/irText/expressions/kt28456a.txt | 46 +- .../ir/irText/expressions/kt28456b.txt | 120 +- .../ir/irText/expressions/kt30020.txt | 378 +++---- .../ir/irText/expressions/lambdaInCAO.txt | 110 +- .../ir/irText/expressions/literals.txt | 205 ++-- .../expressions/memberTypeArguments.txt | 65 +- .../expressions/membersImportedFromObject.txt | 137 ++- .../expressions/multipleThisReferences.txt | 216 ++-- .../irText/expressions/objectAsCallable.txt | 168 +-- .../expressions/objectClassReference.txt | 45 +- .../ir/irText/expressions/objectReference.txt | 298 ++--- ...ferenceInClosureInSuperConstructorCall.txt | 104 +- .../objectReferenceInFieldInitializer.txt | 82 +- .../outerClassInstanceReference.txt | 77 +- .../expressions/primitiveComparisons.txt | 369 +++--- .../primitivesImplicitConversions.txt | 175 ++- .../ir/irText/expressions/references.txt | 83 +- .../ir/irText/expressions/safeAssignment.txt | 83 +- .../safeCallWithIncrementDecrement.txt | 159 ++- .../ir/irText/expressions/safeCalls.txt | 219 ++-- .../expressions/sam/samConstructors.txt | 34 +- .../irText/expressions/sam/samConversions.txt | 88 +- .../sam/samConversionsWithSmartCasts.txt | 174 +-- .../expressions/setFieldWithImplicitCast.txt | 54 +- ...signedToUnsignedConversions_annotation.txt | 26 +- .../signedToUnsignedConversions_test.txt | 174 +-- .../ir/irText/expressions/simpleOperators.txt | 155 ++- .../expressions/simpleUnaryOperators.txt | 43 +- .../ir/irText/expressions/smartCasts.txt | 101 +- .../smartCastsWithDestructuring.txt | 95 +- .../specializedTypeAliasConstructorCall.txt | 56 +- .../irText/expressions/stringComparisons.txt | 65 +- .../ir/irText/expressions/stringPlus.txt | 53 +- .../ir/irText/expressions/stringTemplates.txt | 134 +-- .../temporaryInEnumEntryInitializer.txt | 130 +-- .../expressions/temporaryInInitBlock.txt | 66 +- .../expressions/thisOfGenericOuterClass.txt | 180 +-- .../thisReferenceBeforeClassDeclared.txt | 152 +-- .../testData/ir/irText/expressions/throw.txt | 17 +- .../ir/irText/expressions/tryCatch.txt | 29 +- .../expressions/tryCatchWithImplicitCast.txt | 22 +- .../ir/irText/expressions/typeArguments.txt | 17 +- .../ir/irText/expressions/typeOperators.txt | 73 +- .../expressions/typeParameterClassLiteral.txt | 89 +- .../expressions/unsignedIntegerLiterals.txt | 129 ++- .../irText/expressions/useImportedMember.txt | 360 +++--- .../testData/ir/irText/expressions/values.txt | 212 ++-- .../testData/ir/irText/expressions/vararg.txt | 47 +- .../expressions/varargWithImplicitCast.txt | 41 +- .../expressions/variableAsFunctionCall.txt | 70 +- .../variableAsFunctionCallWithGenerics.txt | 60 +- .../testData/ir/irText/expressions/when.txt | 146 +-- .../irText/expressions/whenCoercedToUnit.txt | 15 +- .../ir/irText/expressions/whenElse.txt | 5 +- .../ir/irText/expressions/whenReturn.txt | 36 +- .../expressions/whenWithSubjectVariable.txt | 51 +- .../ir/irText/expressions/whileDoWhile.txt | 101 +- .../ir/irText/lambdas/anonymousFunction.txt | 18 +- .../irText/lambdas/destructuringInLambda.txt | 248 ++-- .../ir/irText/lambdas/extensionLambda.txt | 20 +- .../testData/ir/irText/lambdas/justLambda.txt | 38 +- .../ir/irText/lambdas/localFunction.txt | 23 +- .../lambdas/multipleImplicitReceivers.txt | 196 ++-- .../ir/irText/lambdas/nonLocalReturn.txt | 112 +- .../testData/ir/irText/lambdas/samAdapter.txt | 18 +- .../ir/irText/regressions/coercionInLoop.txt | 52 +- .../irText/regressions/integerCoercionToT.txt | 148 +-- .../ir/irText/regressions/kt24114.txt | 53 +- .../newInference/fixationOrder1.txt | 58 +- .../typeAliasCtorForGenericClass.txt | 64 +- .../ir/irText/singletons/companion.txt | 73 +- .../ir/irText/singletons/enumEntry.txt | 208 ++-- .../testData/ir/irText/singletons/object.txt | 73 +- .../testData/ir/irText/stubs/builtinMap.txt | 58 +- .../ir/irText/stubs/constFromBuiltins.txt | 16 +- .../stubs/constFromBuiltins__kotlin.Int.txt | 482 ++++---- .../genericClassInDifferentModule_m1.txt | 92 +- .../genericClassInDifferentModule_m2.txt | 126 +-- .../testData/ir/irText/stubs/javaEnum.txt | 15 +- .../ir/irText/stubs/javaInnerClass.txt | 62 +- .../testData/ir/irText/stubs/javaMethod.txt | 11 +- .../ir/irText/stubs/javaNestedClass.txt | 11 +- .../ir/irText/stubs/javaStaticMethod.txt | 7 +- .../ir/irText/stubs/javaSyntheticProperty.txt | 16 +- .../stubs/jdkClassSyntheticProperty.txt | 14 +- .../ir/irText/stubs/kotlinInnerClass.txt | 11 +- compiler/testData/ir/irText/stubs/simple.txt | 15 +- .../ir/irText/types/intersectionType1.txt | 102 +- .../ir/irText/types/intersectionType2.txt | 158 +-- .../ir/irText/types/intersectionType3.txt | 322 +++--- .../augmentedAssignmentWithExpression.txt | 68 +- .../testData/ir/sourceRanges/comments.txt | 82 +- .../sourceRanges/declarations/classFuns.txt | 40 +- .../declarations/classProperties.txt | 268 ++--- .../ir/sourceRanges/declarations/classes.txt | 176 +-- .../declarations/fakeOverrides.txt | 24 +- .../ir/sourceRanges/declarations/kt29862.txt | 128 +-- .../declarations/primaryConstructors.txt | 168 +-- .../declarations/secondaryConstructors.txt | 48 +- .../synthesizedDataClassMembers.txt | 260 ++--- .../declarations/topLevelFuns.txt | 8 +- .../declarations/topLevelProperties.txt | 172 +-- compiler/testData/ir/sourceRanges/kt17108.txt | 46 +- .../kotlin/ir/AbstractIrCfgTestCase.kt | 7 +- 319 files changed, 18613 insertions(+), 18703 deletions(-) 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 5051f14c1e1..3c7b4102f5b 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 @@ -22,6 +22,7 @@ import org.jetbrains.kotlin.ir.SourceManager import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.symbols.IrSymbol +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 @@ -29,9 +30,12 @@ import org.jetbrains.kotlin.renderer.AnnotationArgumentsRenderingPolicy import org.jetbrains.kotlin.renderer.DescriptorRenderer import org.jetbrains.kotlin.utils.Printer -fun IrElement.dump(): String { +fun IrElement.dump( + symbolRenderer: IrSymbolRenderer = IrSymbolRenderer.Default, + typeRenderer: IrTypeRenderer = IrTypeRenderer.Default +): String { val sb = StringBuilder() - accept(DumpIrTreeVisitor(sb), "") + accept(DumpIrTreeVisitor(sb, symbolRenderer, typeRenderer), "") return sb.toString() } @@ -41,10 +45,16 @@ fun IrFile.dumpTreesFromLineNumber(lineNumber: Int): String { return sb.toString() } -class DumpIrTreeVisitor(out: Appendable) : IrElementVisitor { +class DumpIrTreeVisitor( + out: Appendable, + symbolRenderer: IrSymbolRenderer = IrSymbolRenderer.Default, + private val typeRenderer: IrTypeRenderer = IrTypeRenderer.Default +) : IrElementVisitor { + + private fun IrType.render() = typeRenderer.render(this) private val printer = Printer(out, " ") - private val elementRenderer = RenderIrElementVisitor() + private val elementRenderer = RenderIrElementVisitor(symbolRenderer, typeRenderer) companion object { val ANNOTATIONS_RENDERER = DescriptorRenderer.withOptions { 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 c0a4c46c31b..729bbd475bd 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 @@ -22,6 +22,8 @@ import org.jetbrains.kotlin.descriptors.ReceiverParameterDescriptor import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.* 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 @@ -29,18 +31,95 @@ 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.KotlinType import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.utils.addIfNotNull -fun IrElement.render() = accept(RenderIrElementVisitor(), null) +fun IrElement.render( + symbolRenderer: IrSymbolRenderer = IrSymbolRenderer.Default, + typeRenderer: IrTypeRenderer = IrTypeRenderer.Default +) = + accept(RenderIrElementVisitor(symbolRenderer, typeRenderer), null) + +interface IrSymbolRenderer { + fun render(symbol: IrSymbol): String + + object Default : IrSymbolRenderer { + override fun render(symbol: IrSymbol): String = + symbol.run { + if (isBound) owner.render() else "UNBOUND ${this.javaClass.simpleName}" + } + } +} + +interface IrTypeRenderer { + fun render(type: IrType): String + + object Default : IrTypeRenderer { + override fun render(type: IrType): String { + return type.run { "${renderTypeAnnotations(annotations)}${renderTypeInner()}" } + } + + private fun renderTypeAnnotations(annotations: List) = + if (annotations.isEmpty()) + "" + else + annotations.joinToString(prefix = "", postfix = " ", separator = " ") { "@[${it.render()}]" } + + + private fun IrType.renderTypeInner(): String = + when (this) { + is IrDynamicType -> "dynamic" + + is IrErrorType -> "ERROR" + + is IrSimpleType -> buildString { + append(classifier.renderClassifierFqn()) + if (arguments.isNotEmpty()) { + append( + arguments.joinToString(prefix = "<", postfix = ">", separator = ", ") { + it.renderTypeArgument() + } + ) + } + if (hasQuestionMark) { + append('?') + } + } + + else -> + originalKotlinType?.let { + "$this[=${DECLARATION_RENDERER.renderType(it)}]" + } ?: "IrType without originalKotlinType: $this" + } + + 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]" + } + } +} + +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) -class RenderIrElementVisitor : IrElementVisitor { override fun visitElement(element: IrElement, data: Nothing?): String = - "? ${element::class.java.simpleName}" + "?ELEMENT? ${element::class.java.simpleName} $this" override fun visitDeclaration(declaration: IrDeclaration, data: Nothing?): String = - "? ${declaration::class.java.simpleName} ${declaration.descriptor.ref()}" + "?DECLARATION? ${declaration::class.java.simpleName} $this" override fun visitModuleFragment(declaration: IrModuleFragment, data: Nothing?): String = "MODULE_FRAGMENT name:${declaration.name}" @@ -52,7 +131,7 @@ class RenderIrElementVisitor : IrElementVisitor { "FILE fqName:${declaration.fqName} fileName:${declaration.path}" override fun visitFunction(declaration: IrFunction, data: Nothing?): String = - "FUN ${declaration.renderOriginIfNonTrivial()}${declaration.renderDeclared()}" + "FUN ${declaration.renderOriginIfNonTrivial()}" override fun visitSimpleFunction(declaration: IrSimpleFunction, data: Nothing?): String = declaration.run { @@ -65,7 +144,7 @@ class RenderIrElementVisitor : IrElementVisitor { } private fun renderFlagsList(vararg flags: String?) = - flags.filterNotNull().joinToString(separator = ",") + flags.filterNotNull().joinToString(prefix = "[", postfix = "]", separator = ",") private fun IrSimpleFunction.renderSimpleFunctionFlags(): String = renderFlagsList( @@ -149,7 +228,7 @@ class RenderIrElementVisitor : IrElementVisitor { override fun visitTypeAlias(declaration: IrTypeAlias, data: Nothing?): String = "TYPEALIAS ${declaration.renderOriginIfNonTrivial()}${declaration.descriptor.ref()} " + - "type=${declaration.descriptor.underlyingType.render()}" + "type=${DECLARATION_RENDERER.renderType(declaration.descriptor.underlyingType)}" override fun visitVariable(declaration: IrVariable, data: Nothing?): String = "VAR ${declaration.renderOriginIfNonTrivial()}" + @@ -166,7 +245,7 @@ class RenderIrElementVisitor : IrElementVisitor { "ENUM_ENTRY ${declaration.renderOriginIfNonTrivial()}name:${declaration.name}" override fun visitAnonymousInitializer(declaration: IrAnonymousInitializer, data: Nothing?): String = - "ANONYMOUS_INITIALIZER ${declaration.descriptor.ref()}" + "ANONYMOUS_INITIALIZER isStatic=${declaration.isStatic}" override fun visitTypeParameter(declaration: IrTypeParameter, data: Nothing?): String = declaration.run { @@ -236,41 +315,41 @@ class RenderIrElementVisitor : IrElementVisitor { "COMPOSITE type=${expression.type.render()} origin=${expression.origin}" override fun visitReturn(expression: IrReturn, data: Nothing?): String = - "RETURN type=${expression.type.render()} from='${expression.returnTarget.ref()}'" + "RETURN type=${expression.type.render()} from='${expression.returnTargetSymbol.renderReference()}'" override fun visitCall(expression: IrCall, data: Nothing?): String = - "CALL '${expression.descriptor.ref()}' ${expression.renderSuperQualifier()}" + + "CALL '${expression.symbol.renderReference()}' ${expression.renderSuperQualifier()}" + "type=${expression.type.render()} origin=${expression.origin}" private fun IrCall.renderSuperQualifier(): String = - superQualifier?.let { "superQualifier=${it.name} " } ?: "" + superQualifierSymbol?.let { "superQualifier='${it.renderReference()}' " } ?: "" override fun visitDelegatingConstructorCall(expression: IrDelegatingConstructorCall, data: Nothing?): String = - "DELEGATING_CONSTRUCTOR_CALL '${expression.descriptor.ref()}'" + "DELEGATING_CONSTRUCTOR_CALL '${expression.symbol.renderReference()}'" override fun visitEnumConstructorCall(expression: IrEnumConstructorCall, data: Nothing?): String = - "ENUM_CONSTRUCTOR_CALL '${expression.descriptor.ref()}'" + "ENUM_CONSTRUCTOR_CALL '${expression.symbol.renderReference()}'" override fun visitInstanceInitializerCall(expression: IrInstanceInitializerCall, data: Nothing?): String = - "INSTANCE_INITIALIZER_CALL classDescriptor='${expression.classDescriptor.ref()}'" + "INSTANCE_INITIALIZER_CALL classDescriptor='${expression.classSymbol.renderReference()}'" override fun visitGetValue(expression: IrGetValue, data: Nothing?): String = - "GET_VAR '${expression.descriptor.ref()}' type=${expression.type.render()} origin=${expression.origin}" + "GET_VAR '${expression.symbol.renderReference()}' type=${expression.type.render()} origin=${expression.origin}" override fun visitSetVariable(expression: IrSetVariable, data: Nothing?): String = - "SET_VAR '${expression.descriptor.ref()}' type=${expression.type.render()} origin=${expression.origin}" + "SET_VAR '${expression.symbol.renderReference()}' type=${expression.type.render()} origin=${expression.origin}" override fun visitGetField(expression: IrGetField, data: Nothing?): String = - "GET_FIELD '${expression.descriptor.ref()}' type=${expression.type.render()} origin=${expression.origin}" + "GET_FIELD '${expression.symbol.renderReference()}' type=${expression.type.render()} origin=${expression.origin}" override fun visitSetField(expression: IrSetField, data: Nothing?): String = - "SET_FIELD '${expression.descriptor.ref()}' type=${expression.type.render()} origin=${expression.origin}" + "SET_FIELD '${expression.symbol.renderReference()}' type=${expression.type.render()} origin=${expression.origin}" override fun visitGetObjectValue(expression: IrGetObjectValue, data: Nothing?): String = - "GET_OBJECT '${expression.descriptor.ref()}' type=${expression.type.render()}" + "GET_OBJECT '${expression.symbol.renderReference()}' type=${expression.type.render()}" override fun visitGetEnumValue(expression: IrGetEnumValue, data: Nothing?): String = - "GET_ENUM '${expression.descriptor.ref()}' type=${expression.type.render()}" + "GET_ENUM '${expression.symbol.renderReference()}' type=${expression.type.render()}" override fun visitStringConcatenation(expression: IrStringConcatenation, data: Nothing?): String = "STRING_CONCATENATION type=${expression.type.render()}" @@ -300,15 +379,15 @@ class RenderIrElementVisitor : IrElementVisitor { "THROW type=${expression.type.render()}" override fun visitFunctionReference(expression: IrFunctionReference, data: Nothing?): String = - "FUNCTION_REFERENCE '${expression.descriptor.ref()}' type=${expression.type.render()} origin=${expression.origin}" + "FUNCTION_REFERENCE '${expression.symbol.renderReference()}' type=${expression.type.render()} origin=${expression.origin}" override fun visitPropertyReference(expression: IrPropertyReference, data: Nothing?): String = buildString { append("PROPERTY_REFERENCE ") append("'${expression.descriptor.ref()}' ") - appendNullableAttribute("field=", expression.field) { "'${it.descriptor.ref()}'" } - appendNullableAttribute("getter=", expression.getter) { "'${it.descriptor.ref()}'" } - appendNullableAttribute("setter=", expression.setter) { "'${it.descriptor.ref()}'" } + appendNullableAttribute("field=", expression.field) { "'${it.renderReference()}'" } + appendNullableAttribute("getter=", expression.getter) { "'${it.renderReference()}'" } + appendNullableAttribute("setter=", expression.setter) { "'${it.renderReference()}'" } append("type=${expression.type.render()} ") append("origin=${expression.origin}") } @@ -327,15 +406,15 @@ class RenderIrElementVisitor : IrElementVisitor { buildString { append("LOCAL_DELEGATED_PROPERTY_REFERENCE ") append("'${expression.descriptor.ref()}' ") - append("delegate='${expression.delegate.descriptor.ref()}' ") - append("getter='${expression.getter.descriptor.ref()}' ") - appendNullableAttribute("setter=", expression.setter) { "'${it.descriptor.ref()}'" } + append("delegate='${expression.delegate.renderReference()}' ") + append("getter='${expression.getter.renderReference()}' ") + appendNullableAttribute("setter=", expression.setter) { "'${it.renderReference()}'" } append("type=${expression.type.render()} ") append("origin=${expression.origin}") } override fun visitClassReference(expression: IrClassReference, data: Nothing?): String = - "CLASS_REFERENCE '${expression.descriptor.ref()}' type=${expression.type.render()}" + "CLASS_REFERENCE '${expression.symbol.renderReference()}' type=${expression.type.render()}" override fun visitGetClass(expression: IrGetClass, data: Nothing?): String = "GET_CLASS type=${expression.type.render()}" @@ -344,7 +423,7 @@ class RenderIrElementVisitor : IrElementVisitor { "TRY type=${aTry.type.render()}" override fun visitCatch(aCatch: IrCatch, data: Nothing?): String = - "CATCH parameter=${aCatch.parameter.ref()}" + "CATCH parameter=${aCatch.catchParameter.symbol.renderReference()}" override fun visitDynamicOperatorExpression(expression: IrDynamicOperatorExpression, data: Nothing?): String = "DYN_OP operator=${expression.operator} type=${expression.type.render()}" @@ -362,6 +441,7 @@ class RenderIrElementVisitor : IrElementVisitor { "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 @@ -371,6 +451,7 @@ private val DECLARATION_RENDERER = DescriptorRenderer.withOptions { modifiers = DescriptorRendererModifier.ALL } +@Deprecated("Rewrite descriptor-based code") private val REFERENCE_RENDERER = DescriptorRenderer.ONLY_NAMES_WITH_SHORT_TYPES internal fun IrDeclaration.name(): String = @@ -382,62 +463,44 @@ internal fun DescriptorRenderer.renderDescriptor(descriptor: DeclarationDescript else render(descriptor) -internal fun IrDeclaration.renderDeclared(): String = - DECLARATION_RENDERER.renderDescriptor(this.descriptor) - internal fun DeclarationDescriptor.ref(): String = REFERENCE_RENDERER.renderDescriptor(this.original) -internal fun KotlinType.render(): String = - DECLARATION_RENDERER.renderType(this) - internal fun IrDeclaration.renderOriginIfNonTrivial(): String = - if (origin != IrDeclarationOrigin.DEFINED) origin.toString() + " " else "" + if (origin != IrDeclarationOrigin.DEFINED) "$origin " else "" -internal fun IrType.renderTypeInner(): String = - when (this) { - is IrDynamicType -> "dynamic" - - is IrErrorType -> "ERROR" - - is IrSimpleType -> buildString { - append(DECLARATION_RENDERER.renderClassifierName(classifier.descriptor)) // TODO get rid of descriptors - if (arguments.isNotEmpty()) { - append( - arguments.joinToString(prefix = "<", postfix = ">", separator = ", ") { - it.renderTypeArgument() - } - ) - } - if (hasQuestionMark) { - append('?') - } +internal fun IrClassifierSymbol.renderClassifierFqn(): String = + if (isBound) + when (val owner = owner) { + is IrClass -> owner.renderClassFqn() + is IrTypeParameter -> owner.renderTypeParameterFqn() + else -> "`unexpected classifier: ${owner.render()}`" } + else "" - else -> - originalKotlinType?.let { - DECLARATION_RENDERER.renderType(it) - } ?: "IrType without originalKotlinType: $this" - } +internal fun IrClass.renderClassFqn(): String = + StringBuilder().also { renderDeclarationFqn(it) }.toString() -private fun IrTypeArgument.renderTypeArgument(): String = - when (this) { - is IrStarProjection -> "*" +internal fun IrTypeParameter.renderTypeParameterFqn(): String = + StringBuilder().also { renderDeclarationFqn(it) }.toString() - is IrTypeProjection -> buildString { - append(variance.label) - if (variance != Variance.INVARIANT) append(' ') - append(type.render()) +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()) } - - else -> "IrTypeArgument[$this]" + sb.append('.') + } catch (e: UninitializedPropertyAccessException) { + sb.append(".") } + if (this is IrDeclarationWithName) { + sb.append(name.asString()) + } else { + sb.append(this) + } +} -internal fun renderTypeAnnotations(annotations: List) = - if (annotations.isEmpty()) - "" - else - annotations.joinToString(prefix = "", postfix = " ", separator = " ") { "@[${it.render()}]" } - -fun IrType.render() = "${renderTypeAnnotations(annotations)}${renderTypeInner()}" - +fun IrType.render() = IrTypeRenderer.Default.render(this) \ No newline at end of file diff --git a/compiler/testData/ir/irCfg/expressionFun.txt b/compiler/testData/ir/irCfg/expressionFun.txt index 2009e429761..9ae59542721 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 arg: Int' type=kotlin.Int origin=null - 3 RETURN type=kotlin.Nothing from='foo(Int): Int' + 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:[]' 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 flags:[] // END FUN: foo diff --git a/compiler/testData/ir/irCfg/expressionUnit.txt b/compiler/testData/ir/irCfg/expressionUnit.txt index 00f590d308e..e5b16392d90 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 'Unit' type=kotlin.Unit - 3 RETURN type=kotlin.Nothing from='foo(): Unit' + 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:[]' 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 flags:[] // END FUN: foo diff --git a/compiler/testData/ir/irCfg/loop/digitCount.txt b/compiler/testData/ir/irCfg/loop/digitCount.txt index 36a3445587a..1b6121ca732 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 flags:[] 2 CONST Int type=kotlin.Int value=0 - 3 VAR name:count type:kotlin.Int flags:var - 4 GET_VAR 'value-parameter n: Int' type=kotlin.Int origin=null - 5 VAR name:number type:kotlin.Int flags:var + 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] 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 m: Int' type=kotlin.Int origin=null - 3 GET_VAR 'number: Int' type=kotlin.Int origin=null + 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 4 CONST Int type=kotlin.Int value=10 - 5 CALL 'rem(Int): Int' type=kotlin.Int origin=PERC + 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 OUTGOING -> BB 2 - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 BB 2 INCOMING <- BB 1 - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 CONTENT - 1 GET_VAR 'count: Int' type=kotlin.Int origin=POSTFIX_INCR - 2 VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:val - 3 SET_VAR 'count: Int' type=kotlin.Unit origin=POSTFIX_INCR - 4 GET_VAR 'tmp0: Int' type=kotlin.Int origin=null + 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 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 'number: Int' type=kotlin.Unit origin=DIVEQ - 2 GET_VAR 'number: Int' type=kotlin.Int origin=null + 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 3 CONST Int type=kotlin.Int value=0 OUTGOING -> BB 4, 5 - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT + 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 BB 4 INCOMING <- BB 3 - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT + 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 CONTENT OUTGOING -> BB 1 Do..while entry: DO_WHILE label=null origin=DO_WHILE_LOOP BB 5 INCOMING <- BB 3 - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT + 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 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 'count: Int' type=kotlin.Int origin=null - 2 RETURN type=kotlin.Nothing from='digitCountInNumber(Int, Int): Int' + 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:[]' 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 flags:[] // END FUN: digitCountInNumber diff --git a/compiler/testData/ir/irCfg/loop/factorial.txt b/compiler/testData/ir/irCfg/loop/factorial.txt index 7610b502fbb..9b1d4020958 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 flags:[] 2 CONST Int type=kotlin.Int value=1 - 3 VAR name:result type:kotlin.Int flags:var + 3 VAR name:result type:kotlin.Int flags:[var] 4 CONST Int type=kotlin.Int value=2 - 5 GET_VAR 'value-parameter i: Int' type=kotlin.Int origin=null - 6 CALL 'rangeTo(Int): IntRange' type=kotlin.ranges.IntRange origin=RANGE - 7 CALL 'iterator(): IntIterator' 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 '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] 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 'tmp0_iterator: IntIterator' type=kotlin.collections.IntIterator origin=null + 1 GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:[val]' type=kotlin.collections.IntIterator origin=null OUTGOING -> BB 2, 3 - CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + 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 BB 2 INCOMING <- BB 1 - CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + 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 CONTENT - 1 GET_VAR 'tmp0_iterator: IntIterator' type=kotlin.collections.IntIterator origin=null - 2 CALL 'next(): Int' type=kotlin.Int origin=FOR_LOOP_NEXT - 3 VAR FOR_LOOP_VARIABLE name:j type:kotlin.Int flags:val - 4 SET_VAR 'result: Int' type=kotlin.Unit origin=MULTEQ + 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 OUTGOING -> BB 1 While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE BB 3 INCOMING <- BB 1 - CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + 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 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 'result: Int' type=kotlin.Int origin=null - 2 RETURN type=kotlin.Nothing from='factorial(Int): Int' + 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:[]' 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 flags:[] // END FUN: factorial diff --git a/compiler/testData/ir/irCfg/loop/isPerfect.txt b/compiler/testData/ir/irCfg/loop/isPerfect.txt index b66ff8d7035..38ebd7b9955 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 flags:[] 2 CONST Int type=kotlin.Int value=1 - 3 VAR name:sum type:kotlin.Int flags:var + 3 VAR name:sum type:kotlin.Int flags:[var] 4 CONST Int type=kotlin.Int value=2 - 5 GET_VAR 'value-parameter n: Int' type=kotlin.Int origin=null + 5 GET_VAR 'VALUE_PARAMETER name:n index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null 6 CONST Int type=kotlin.Int value=2 - 7 CALL 'div(Int): Int' type=kotlin.Int origin=DIV - 8 CALL 'rangeTo(Int): IntRange' type=kotlin.ranges.IntRange origin=RANGE - 9 CALL 'iterator(): IntIterator' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR - 10 VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:val + 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] 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 'tmp0_iterator: IntIterator' type=kotlin.collections.IntIterator origin=null + 1 GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:[val]' type=kotlin.collections.IntIterator origin=null OUTGOING -> BB 2, 7 - CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + 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 BB 2 INCOMING <- BB 1 - CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + 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 CONTENT - 1 GET_VAR 'tmp0_iterator: IntIterator' type=kotlin.collections.IntIterator origin=null - 2 CALL 'next(): Int' type=kotlin.Int origin=FOR_LOOP_NEXT - 3 VAR FOR_LOOP_VARIABLE name:m type:kotlin.Int flags:val + 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] 4 WHEN type=kotlin.Unit origin=IF - 5 GET_VAR 'value-parameter n: Int' type=kotlin.Int origin=null - 6 GET_VAR 'm: Int' type=kotlin.Int origin=null - 7 CALL 'rem(Int): Int' type=kotlin.Int origin=PERC + 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 8 CONST Int type=kotlin.Int value=0 OUTGOING -> BB 3, 4 - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT + 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 BB 3 INCOMING <- BB 2 - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT + 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 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 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT + 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 CONTENT - 1 SET_VAR 'sum: Int' type=kotlin.Unit origin=PLUSEQ + 1 SET_VAR 'VAR name:sum type:kotlin.Int flags:[var]' type=kotlin.Unit origin=PLUSEQ 2 WHEN type=kotlin.Unit origin=IF - 3 GET_VAR 'sum: Int' type=kotlin.Int origin=null - 4 GET_VAR 'value-parameter n: Int' type=kotlin.Int origin=null + 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 OUTGOING -> BB 5, 6 - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT + 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 BB 5 INCOMING <- BB 4 - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT + 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 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 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT + 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 CONTENT OUTGOING -> BB 1 While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE BB 7 INCOMING <- BB 1 - CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT + 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 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 'sum: Int' type=kotlin.Int origin=null - 2 GET_VAR 'value-parameter n: Int' type=kotlin.Int origin=null - 3 CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - 4 RETURN type=kotlin.Nothing from='isPerfect(Int): Boolean' + 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:[]' 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 flags:[] // END FUN: isPerfect diff --git a/compiler/testData/ir/irCfg/returnUnit.txt b/compiler/testData/ir/irCfg/returnUnit.txt index 59b11a4686f..ced5fa8649b 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 'Unit' type=kotlin.Unit - 3 RETURN type=kotlin.Nothing from='foo(): Unit' + 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:[]' 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 flags:[] // END FUN: foo diff --git a/compiler/testData/ir/irCfg/sequentialFun.txt b/compiler/testData/ir/irCfg/sequentialFun.txt index a04b3145a0a..12975726f3f 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 arg: Int' type=kotlin.Int origin=null + 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 CONST Int type=kotlin.Int value=2 - 4 CALL 'times(Int): Int' type=kotlin.Int origin=MUL - 5 VAR name:dbl type:kotlin.Int flags:val - 6 GET_VAR 'dbl: Int' type=kotlin.Int origin=null - 7 RETURN type=kotlin.Nothing from='foo(Int): Int' + 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:[]' 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 flags:[] // END FUN: foo diff --git a/compiler/testData/ir/irCfg/simpleFun.txt b/compiler/testData/ir/irCfg/simpleFun.txt index 2dc1c71699f..17de8958023 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 flags:[] 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 flags:[] // END FUN: foo diff --git a/compiler/testData/ir/irCfg/simpleReturn.txt b/compiler/testData/ir/irCfg/simpleReturn.txt index ba1dd2280bd..6772ec6f8c5 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 'Unit' type=kotlin.Unit - 3 RETURN type=kotlin.Nothing from='foo(): Unit' + 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:[]' 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 flags:[] // END FUN: foo diff --git a/compiler/testData/ir/irCfg/when/cascadeIf.txt b/compiler/testData/ir/irCfg/when/cascadeIf.txt index fc2fc8e1576..dc5f4c68c6a 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 flags:[] 2 WHEN type=kotlin.Int origin=IF - 3 GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null - 4 GET_VAR 'value-parameter y: Int' type=kotlin.Int origin=null + 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 OUTGOING -> BB 1, 3 - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT + 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 BB 1 INCOMING <- BB 0 - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT + 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 CONTENT - 1 GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null - 2 GET_VAR 'value-parameter y: Int' type=kotlin.Int origin=null + 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 OUTGOING -> BB 2, 4 - CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT + 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 BB 2 INCOMING <- BB 1 - CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT + 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 CONTENT OUTGOING -> BB 5 CONST Boolean type=kotlin.Boolean value=true BB 3 INCOMING <- BB 0 - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT + 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 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 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT + 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 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='compare(Int, Int): Int' + 1 RETURN type=kotlin.Nothing from='FUN name:compare visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int flags:[]' 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 flags:[] // END FUN: compare diff --git a/compiler/testData/ir/irCfg/when/emptyWhen.txt b/compiler/testData/ir/irCfg/when/emptyWhen.txt index 8c49be590e3..d6098a261d0 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 flags:[] 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='empty(): Int' + 1 RETURN type=kotlin.Nothing from='FUN name:empty visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 flags:[] // END FUN: empty diff --git a/compiler/testData/ir/irCfg/when/expressionIf.txt b/compiler/testData/ir/irCfg/when/expressionIf.txt index 3a1324bb1d3..68499269da9 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 flags:[] 2 WHEN type=kotlin.Int origin=IF - 3 GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null - 4 GET_VAR 'value-parameter y: Int' type=kotlin.Int origin=null + 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 OUTGOING -> BB 1, 2 - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT + 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 BB 1 INCOMING <- BB 0 - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT + 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 CONTENT OUTGOING -> BB 3 CONST Boolean type=kotlin.Boolean value=true BB 2 INCOMING <- BB 0 - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT + 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 CONTENT - 1 GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null + 1 GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' 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 y: Int' type=kotlin.Int origin=null + 1 GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[]' 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='max(Int, Int): Int' + 1 RETURN type=kotlin.Nothing from='FUN name:max visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int flags:[]' 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 flags:[] // END FUN: max diff --git a/compiler/testData/ir/irCfg/when/ifChain.txt b/compiler/testData/ir/irCfg/when/ifChain.txt index 89896a1e4fa..f4bcd8c4c1f 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 flags:[] 2 WHEN type=kotlin.Unit origin=IF - 3 GET_VAR 'value-parameter a: Double' type=kotlin.Double origin=null + 3 GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null 4 CONST Double type=kotlin.Double value=0.0 OUTGOING -> BB 1, 6 - CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 BB 1 INCOMING <- BB 0 - CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 CONTENT 1 WHEN type=kotlin.Unit origin=IF - 2 GET_VAR 'value-parameter b: Double' type=kotlin.Double origin=null + 2 GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null 3 CONST Double type=kotlin.Double value=0.0 OUTGOING -> BB 2, 3 - CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 BB 2 INCOMING <- BB 1 - CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 CONTENT 1 CONST Double type=kotlin.Double value=1.0 - 2 RETURN type=kotlin.Nothing from='minBiRoot(Double, Double, Double): Double' + 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:[]' 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 flags:[] BB 3 INCOMING <- BB 1 - CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 CONTENT - 1 GET_VAR 'value-parameter c: Double' type=kotlin.Double origin=null - 2 CALL 'unaryMinus(): Double' type=kotlin.Double origin=UMINUS - 3 GET_VAR 'value-parameter b: Double' type=kotlin.Double origin=null - 4 CALL 'div(Double): Double' type=kotlin.Double origin=DIV - 5 VAR name:bc type:kotlin.Double flags:val + 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] 6 WHEN type=kotlin.Unit origin=IF - 7 GET_VAR 'bc: Double' type=kotlin.Double origin=null + 7 GET_VAR 'VAR name:bc type:kotlin.Double flags:[val]' type=kotlin.Double origin=null 8 CONST Double type=kotlin.Double value=0.0 OUTGOING -> BB 4, 5 - CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT + 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 BB 4 INCOMING <- BB 3 - CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT + 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 CONTENT 1 CONST Double type=kotlin.Double value=2.0 - 2 RETURN type=kotlin.Nothing from='minBiRoot(Double, Double, Double): Double' + 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:[]' 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 flags:[] BB 5 INCOMING <- BB 3 - CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT + 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 CONTENT - 1 GET_VAR 'bc: Double' type=kotlin.Double origin=null - 2 CALL 'unaryMinus(): Double' type=kotlin.Double origin=UMINUS - 3 RETURN type=kotlin.Nothing from='minBiRoot(Double, Double, Double): Double' + 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:[]' 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 flags:[] BB 6 INCOMING <- BB 0 - CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 CONTENT - 1 GET_VAR 'value-parameter b: Double' type=kotlin.Double origin=null - 2 GET_VAR 'value-parameter b: Double' type=kotlin.Double origin=null - 3 CALL 'times(Double): Double' type=kotlin.Double origin=MUL + 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 4 CONST Int type=kotlin.Int value=4 - 5 GET_VAR 'value-parameter a: Double' type=kotlin.Double origin=null - 6 CALL 'times(Double): Double' type=kotlin.Double origin=MUL - 7 GET_VAR 'value-parameter c: Double' type=kotlin.Double origin=null - 8 CALL 'times(Double): Double' type=kotlin.Double origin=MUL - 9 CALL 'minus(Double): Double' type=kotlin.Double origin=MINUS - 10 VAR name:d type:kotlin.Double flags:val + 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] 11 WHEN type=kotlin.Unit origin=IF - 12 GET_VAR 'd: Double' type=kotlin.Double origin=null + 12 GET_VAR 'VAR name:d type:kotlin.Double flags:[val]' type=kotlin.Double origin=null 13 CONST Double type=kotlin.Double value=0.0 OUTGOING -> BB 7, 8 - CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT + 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 BB 7 INCOMING <- BB 6 - CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT + 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 CONTENT 1 CONST Double type=kotlin.Double value=3.0 - 2 RETURN type=kotlin.Nothing from='minBiRoot(Double, Double, Double): Double' + 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:[]' 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 flags:[] BB 8 INCOMING <- BB 6 - CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT + 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 CONTENT - 1 GET_VAR 'value-parameter b: Double' type=kotlin.Double origin=null - 2 CALL 'unaryMinus(): Double' type=kotlin.Double origin=UMINUS - 3 GET_VAR 'd: Double' type=kotlin.Double origin=null - 4 CALL 'plus(Double): Double' type=kotlin.Double origin=PLUS + 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 5 CONST Int type=kotlin.Int value=2 - 6 GET_VAR 'value-parameter a: Double' type=kotlin.Double origin=null - 7 CALL 'times(Double): Double' type=kotlin.Double origin=MUL - 8 CALL 'div(Double): Double' type=kotlin.Double origin=DIV - 9 VAR name:y1 type:kotlin.Double flags:val - 10 GET_VAR 'value-parameter b: Double' type=kotlin.Double origin=null - 11 CALL 'unaryMinus(): Double' type=kotlin.Double origin=UMINUS - 12 GET_VAR 'd: Double' type=kotlin.Double origin=null - 13 CALL 'minus(Double): Double' type=kotlin.Double origin=MINUS + 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 14 CONST Int type=kotlin.Int value=2 - 15 GET_VAR 'value-parameter a: Double' type=kotlin.Double origin=null - 16 CALL 'times(Double): Double' type=kotlin.Double origin=MUL - 17 CALL 'div(Double): Double' type=kotlin.Double origin=DIV - 18 VAR name:y2 type:kotlin.Double flags:val + 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] 19 WHEN type=kotlin.Double origin=IF - 20 GET_VAR 'y1: Double' type=kotlin.Double origin=null - 21 GET_VAR 'y2: Double' type=kotlin.Double origin=null + 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 OUTGOING -> BB 9, 10 - CALL 'greater(Double, Double): Boolean' type=kotlin.Boolean origin=GT + 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 BB 9 INCOMING <- BB 8 - CALL 'greater(Double, Double): Boolean' type=kotlin.Boolean origin=GT + 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 CONTENT OUTGOING -> BB 11 CONST Boolean type=kotlin.Boolean value=true BB 10 INCOMING <- BB 8 - CALL 'greater(Double, Double): Boolean' type=kotlin.Boolean origin=GT + 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 CONTENT - 1 GET_VAR 'y1: Double' type=kotlin.Double origin=null + 1 GET_VAR 'VAR name:y1 type:kotlin.Double flags:[val]' 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 'y2: Double' type=kotlin.Double origin=null + 1 GET_VAR 'VAR name:y2 type:kotlin.Double flags:[val]' 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 flags:[val] 2 WHEN type=kotlin.Double origin=IF - 3 GET_VAR 'y3: Double' type=kotlin.Double origin=null + 3 GET_VAR 'VAR name:y3 type:kotlin.Double flags:[val]' type=kotlin.Double origin=null 4 CONST Double type=kotlin.Double value=0.0 OUTGOING -> BB 13, 14 - CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT + 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 BB 13 INCOMING <- BB 12 - CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT + 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 CONTENT OUTGOING -> BB 15 CONST Boolean type=kotlin.Boolean value=true BB 14 INCOMING <- BB 12 - CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT + 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 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 'y3: Double' type=kotlin.Double origin=null - 2 CALL 'unaryMinus(): Double' type=kotlin.Double origin=UMINUS + 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 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='minBiRoot(Double, Double, Double): Double' + 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:[]' 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 flags:[] // END FUN: minBiRoot diff --git a/compiler/testData/ir/irCfg/when/whenReturn.txt b/compiler/testData/ir/irCfg/when/whenReturn.txt index 45be72574b3..ab8485f3981 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 grade: String' 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 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] 4 WHEN type=kotlin.Nothing origin=WHEN - 5 GET_VAR 'tmp0_subject: String' type=kotlin.String origin=null + 5 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String flags:[val]' type=kotlin.String origin=null 6 CONST String type=kotlin.String value="A" OUTGOING -> BB 1, 5 - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 BB 1 INCOMING <- BB 0 - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 CONTENT - 1 GET_VAR 'tmp0_subject: String' type=kotlin.String origin=null + 1 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String flags:[val]' type=kotlin.String origin=null 2 CONST String type=kotlin.String value="B" OUTGOING -> BB 2, 6 - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 BB 2 INCOMING <- BB 1 - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 CONTENT - 1 GET_VAR 'tmp0_subject: String' type=kotlin.String origin=null + 1 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String flags:[val]' type=kotlin.String origin=null 2 CONST String type=kotlin.String value="C" OUTGOING -> BB 3, 7 - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 BB 3 INCOMING <- BB 2 - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 CONTENT - 1 GET_VAR 'tmp0_subject: String' type=kotlin.String origin=null + 1 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String flags:[val]' type=kotlin.String origin=null 2 CONST String type=kotlin.String value="D" OUTGOING -> BB 4, 8 - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 BB 4 INCOMING <- BB 3 - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 CONTENT OUTGOING -> BB 9, 10 CONST Boolean type=kotlin.Boolean value=true BB 5 INCOMING <- BB 0 - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 CONTENT 1 CONST String type=kotlin.String value="Excellent" - 2 RETURN type=kotlin.Nothing from='toString(String): String' + 2 RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' 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 flags:[] BB 6 INCOMING <- BB 1 - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 CONTENT 1 CONST String type=kotlin.String value="Good" - 2 RETURN type=kotlin.Nothing from='toString(String): String' + 2 RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' 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 flags:[] BB 7 INCOMING <- BB 2 - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 CONTENT 1 CONST String type=kotlin.String value="Mediocre" - 2 RETURN type=kotlin.Nothing from='toString(String): String' + 2 RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' 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 flags:[] BB 8 INCOMING <- BB 3 - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 CONTENT 1 CONST String type=kotlin.String value="Fair" - 2 RETURN type=kotlin.Nothing from='toString(String): String' + 2 RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' 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 flags:[] 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='toString(String): String' + 2 RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' 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 flags:[] 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='toString(String): String' + 2 RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' 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 flags:[] // END FUN: toString diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicAndMembersOfAny.txt b/compiler/testData/ir/irJsText/dynamic/dynamicAndMembersOfAny.txt index 34ba16c501b..a547023beb2 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(dynamic): String' - CALL 'toString(): String' type=kotlin.String origin=null + 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 $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 d: dynamic' 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(dynamic): Int' - CALL 'hashCode(): Int' type=kotlin.Int origin=null + 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 $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 d: dynamic' 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(dynamic): Boolean' - CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null + 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 $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 d: dynamic' type=dynamic origin=null + 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 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 ab672c78550..e541cc0a415 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testArrayAccess1(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:testArrayAccess1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testArrayAccess2(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:testArrayAccess2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_OP operator=ARRAY_ACCESS type=dynamic receiver: DYN_OP operator=INVOKE type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=VARIABLE_AS_FUNCTION + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testArrayAccess3(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:testArrayAccess3 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='get' type=dynamic - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 f954be2e37e..f07fbf78c21 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY DYN_OP operator=EQ type=dynamic receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='set' type=dynamic - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 db041edefb5..0a54a1c22be 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY DYN_OP operator=PLUSEQ type=kotlin.Unit receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 61d97f409d1..83f0a8ada19 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - VAR name:t1 type:dynamic flags:val + VAR name:t1 type:dynamic flags:[val] DYN_OP operator=PREFIX_INCREMENT type=dynamic receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null 0: CONST String type=kotlin.String value="prefixIncr" - VAR name:t2 type:dynamic flags:val + VAR name:t2 type:dynamic flags:[val] DYN_OP operator=PREFIX_DECREMENT type=dynamic receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null 0: CONST String type=kotlin.String value="prefixDecr" - VAR name:t3 type:dynamic flags:val + VAR name:t3 type:dynamic flags:[val] DYN_OP operator=POSTFIX_INCREMENT type=dynamic receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null 0: CONST String type=kotlin.String value="postfixIncr" - VAR name:t4 type:dynamic flags:val + VAR name:t4 type:dynamic flags:[val] DYN_OP operator=POSTFIX_DECREMENT type=dynamic receiver: DYN_OP operator=ARRAY_ACCESS type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 42dd24e330e..0d5471098ca 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testEqeq(dynamic): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testEqeq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' DYN_OP operator=EQEQ type=kotlin.Boolean - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testExclEq(dynamic): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testExclEq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' DYN_OP operator=EXCLEQ type=kotlin.Boolean - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testEqeqeq(dynamic): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testEqeqeq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' DYN_OP operator=EQEQEQ type=kotlin.Boolean - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testExclEqeq(dynamic): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testExclEqeq visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' DYN_OP operator=EXCLEQEQ type=kotlin.Boolean - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 7d933b396ed..05fde1b5aac 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testAndAnd(dynamic): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testAndAnd visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' DYN_OP operator=ANDAND type=kotlin.Boolean - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null - 0: GET_VAR 'value-parameter d: dynamic' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testOrOr(dynamic): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testOrOr visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' DYN_OP operator=OROR type=kotlin.Boolean - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null - 0: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + 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 diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryOperator.txt b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryOperator.txt index 5c8983eaf33..7c7082298a1 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testBinaryPlus(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:testBinaryPlus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_OP operator=BINARY_PLUS type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testBinaryMinus(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:testBinaryMinus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_OP operator=BINARY_MINUS type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testMul(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:testMul visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_OP operator=MUL type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testDiv(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:testDiv visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_OP operator=DIV type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testMod(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:testMod visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_OP operator=MOD type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 4f9a5542bf1..ec14d3de312 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testLess(dynamic): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testLess visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' DYN_OP operator=LT type=kotlin.Boolean - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testLessOrEqual(dynamic): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testLessOrEqual visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' DYN_OP operator=LE type=kotlin.Boolean - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testGreater(dynamic): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testGreater visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' DYN_OP operator=GT type=kotlin.Boolean - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testGreaterOrEqual(dynamic): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testGreaterOrEqual visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Boolean flags:[]' DYN_OP operator=GE type=kotlin.Boolean - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 2c1dc0b3d7c..d442a11c64c 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='member' type=dynamic - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' BLOCK type=dynamic origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:val - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + 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 WHEN type=dynamic origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: dynamic' type=dynamic origin=null + 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 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 'tmp0_safe_receiver: dynamic' type=dynamic origin=null + GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='member' type=dynamic - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 9dce1c89a4b..ebf175dd91f 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' BLOCK type=dynamic origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:dynamic flags:val - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + 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 WHEN type=dynamic origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_elvis_lhs: dynamic' type=dynamic origin=null + 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 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 'tmp0_elvis_lhs: dynamic' type=dynamic origin=null + then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:dynamic flags:[val]' type=dynamic origin=null diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicExclExclOperator.txt b/compiler/testData/ir/irJsText/dynamic/dynamicExclExclOperator.txt index a0f6a0fa3d4..9c9aaf3d2ca 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' BLOCK type=dynamic origin=EXCLEXCL - VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:dynamic flags:val - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + 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 WHEN type=dynamic origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_notnull: dynamic' type=dynamic origin=null + 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 arg1: CONST Null type=kotlin.Nothing? value=null - then: CALL 'THROW_NPE(): Nothing' type=kotlin.Nothing origin=EXCLEXCL + then: CALL 'FUN IR_BUILTINS_STUB name:THROW_NPE visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[]' type=kotlin.Nothing origin=EXCLEXCL BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'tmp0_notnull: dynamic' type=dynamic origin=null + then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:dynamic flags:[val]' type=dynamic origin=null diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicInfixCall.txt b/compiler/testData/ir/irJsText/dynamic/dynamicInfixCall.txt index d95dcf1dbc8..1a7b8524594 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='foo' type=dynamic - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='invoke' type=dynamic - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 6a799ec822a..b88d75ad2d3 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_MEMBER memberName='member' type=dynamic - GET_VAR 'value-parameter d: dynamic' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' BLOCK type=dynamic origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:val - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + 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 WHEN type=dynamic origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: dynamic' type=dynamic origin=null + 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 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 'tmp0_safe_receiver: dynamic' type=dynamic origin=null + GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicMemberAssignment.txt b/compiler/testData/ir/irJsText/dynamic/dynamicMemberAssignment.txt index db1ed0c3e38..3a276b66c62 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY DYN_OP operator=EQ type=kotlin.Unit receiver: DYN_MEMBER memberName='m' type=kotlin.Unit - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] 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 d: dynamic' type=dynamic origin=null + 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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: dynamic' type=dynamic origin=null + 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 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 flags:[] 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 'tmp0_safe_receiver: dynamic' type=dynamic origin=null + GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' 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 0d629feff6e..5371afb9868 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY DYN_OP operator=PLUSEQ type=kotlin.Unit receiver: DYN_MEMBER memberName='m' type=dynamic - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 d: dynamic' type=dynamic origin=null + GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 d: dynamic' type=dynamic origin=null + GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 d: dynamic' type=dynamic origin=null + GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 d: dynamic' type=dynamic origin=null + GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] 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 d: dynamic' type=dynamic origin=null + 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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: dynamic' type=dynamic origin=null + 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 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 flags:[] 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 'tmp0_safe_receiver: dynamic' type=dynamic origin=null + GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' 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 d: dynamic' type=dynamic origin=null + 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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp1_safe_receiver: dynamic' type=dynamic origin=null + 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 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 flags:[] 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 'tmp1_safe_receiver: dynamic' type=dynamic origin=null + GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:dynamic flags:[val]' 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 d: dynamic' type=dynamic origin=null + 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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp2_safe_receiver: dynamic' type=dynamic origin=null + 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 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 flags:[] 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 'tmp2_safe_receiver: dynamic' type=dynamic origin=null + GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:dynamic flags:[val]' 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 d: dynamic' type=dynamic origin=null + 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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp3_safe_receiver: dynamic' type=dynamic origin=null + 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 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 flags:[] 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 'tmp3_safe_receiver: dynamic' type=dynamic origin=null + GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:dynamic flags:[val]' 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 d: dynamic' type=dynamic origin=null + 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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp4_safe_receiver: dynamic' type=dynamic origin=null + 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 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 flags:[] 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 'tmp4_safe_receiver: dynamic' type=dynamic origin=null + GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp4_safe_receiver type:dynamic flags:[val]' 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 26d0b69dda3..42c77a1cd38 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - VAR name:t1 type:dynamic flags:val + VAR name:t1 type:dynamic flags:[val] DYN_OP operator=PREFIX_INCREMENT type=dynamic receiver: DYN_MEMBER memberName='prefixIncr' type=dynamic - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null - VAR name:t2 type:dynamic flags:val + GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR name:t2 type:dynamic flags:[val] DYN_OP operator=PREFIX_DECREMENT type=dynamic receiver: DYN_MEMBER memberName='prefixDecr' type=dynamic - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null - VAR name:t3 type:dynamic flags:val + GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR name:t3 type:dynamic flags:[val] DYN_OP operator=POSTFIX_INCREMENT type=dynamic receiver: DYN_MEMBER memberName='postfixIncr' type=dynamic - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null - VAR name:t4 type:dynamic flags:val + GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null + VAR name:t4 type:dynamic flags:[val] DYN_OP operator=POSTFIX_DECREMENT type=dynamic receiver: DYN_MEMBER memberName='postfixDecr' type=dynamic - GET_VAR 'value-parameter d: dynamic' 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 '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:[] BLOCK_BODY - VAR name:t1 type:dynamic flags:val + VAR name:t1 type:dynamic flags:[val] BLOCK type=dynamic origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:val - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + 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 WHEN type=dynamic origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: dynamic' type=dynamic origin=null + 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 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 'tmp0_safe_receiver: dynamic' type=dynamic origin=null - VAR name:t2 type:dynamic flags:val + 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] BLOCK type=dynamic origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:dynamic flags:val - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + 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 WHEN type=dynamic origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp1_safe_receiver: dynamic' type=dynamic origin=null + 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 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 'tmp1_safe_receiver: dynamic' type=dynamic origin=null - VAR name:t3 type:dynamic flags:val + 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] BLOCK type=dynamic origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:dynamic flags:val - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + 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 WHEN type=dynamic origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp2_safe_receiver: dynamic' type=dynamic origin=null + 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 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 'tmp2_safe_receiver: dynamic' type=dynamic origin=null - VAR name:t4 type:dynamic flags:val + 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] BLOCK type=dynamic origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:dynamic flags:val - GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + 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 WHEN type=dynamic origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp3_safe_receiver: dynamic' type=dynamic origin=null + 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 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 'tmp3_safe_receiver: dynamic' type=dynamic origin=null + GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicUnaryOperator.txt b/compiler/testData/ir/irJsText/dynamic/dynamicUnaryOperator.txt index a1a276bea6a..e09625a9313 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testUnaryMinus(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:testUnaryMinus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_OP operator=UNARY_MINUS type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testUnaryPlus(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:testUnaryPlus visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_OP operator=UNARY_PLUS type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testExcl(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:testExcl visibility:public modality:FINAL <> (d:dynamic) returnType:dynamic flags:[]' DYN_OP operator=EXCL type=dynamic - receiver: GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null + receiver: GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicWithImplicitCast.txt b/compiler/testData/ir/irJsText/dynamic/dynamicWithImplicitCast.txt index 317fbebec20..4cccab1b7df 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(dynamic): Int' + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Int flags:[]' 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 d: dynamic' type=dynamic origin=null - then: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY + 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 $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 d: dynamic' type=dynamic origin=null + 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 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 flags:[] + VALUE_PARAMETER name:d index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(dynamic): Int' + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Int flags:[]' 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 d: dynamic' type=dynamic origin=null - then: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY + 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 $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 d: dynamic' type=dynamic origin=null + 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 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 7beb9533034..400304bc666 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 flags:[] 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 flags:[] + VALUE_PARAMETER name:a index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (a:dynamic) returnType:dynamic flags:[]' DYN_OP operator=INVOKE type=dynamic - receiver: GET_VAR 'value-parameter a: dynamic' type=dynamic origin=VARIABLE_AS_FUNCTION + receiver: GET_VAR 'VALUE_PARAMETER name:a index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:a index:0 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:dynamic) returnType:dynamic flags:[]' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='invoke' type=dynamic - GET_VAR 'value-parameter a: dynamic' type=dynamic origin=null + GET_VAR 'VALUE_PARAMETER name:a index:0 type:dynamic flags:[]' 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 flags:[] + VALUE_PARAMETER name:a index:0 type:dynamic flags:[] + VALUE_PARAMETER name:b index:1 type:dynamic flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(dynamic, dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic flags:[]' DYN_OP operator=INVOKE type=dynamic - receiver: GET_VAR 'value-parameter a: dynamic' type=dynamic origin=VARIABLE_AS_FUNCTION - 0: GET_VAR 'value-parameter b: dynamic' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4(dynamic, dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic flags:[]' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='invoke' type=dynamic - GET_VAR 'value-parameter a: dynamic' type=dynamic origin=null - 0: GET_VAR 'value-parameter b: dynamic' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5(dynamic, dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:test5 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic flags:[]' DYN_OP operator=INVOKE type=dynamic receiver: DYN_OP operator=INVOKE type=dynamic - receiver: GET_VAR 'value-parameter a: dynamic' type=dynamic origin=VARIABLE_AS_FUNCTION - 0: GET_VAR 'value-parameter b: dynamic' type=dynamic origin=null - 0: GET_VAR 'value-parameter b: dynamic' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test6(dynamic, dynamic): dynamic' + RETURN type=kotlin.Nothing from='FUN name:test6 visibility:public modality:FINAL <> (a:dynamic, b:dynamic) returnType:dynamic flags:[]' DYN_OP operator=INVOKE type=dynamic receiver: DYN_MEMBER memberName='invoke' type=dynamic DYN_OP operator=INVOKE type=dynamic - receiver: GET_VAR 'value-parameter a: dynamic' type=dynamic origin=VARIABLE_AS_FUNCTION - 0: GET_VAR 'value-parameter b: dynamic' type=dynamic origin=null - 0: GET_VAR 'value-parameter b: dynamic' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test7(dynamic): Unit' - CALL 'invoke(): Unit' type=kotlin.Unit origin=null + 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 diff --git a/compiler/testData/ir/irJsText/native/nativeNativeKotlin.txt b/compiler/testData/ir/irJsText/native/nativeNativeKotlin.txt index f5f2418840a..f1d03833939 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor B()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - FUN FAKE_OVERRIDE name:bar visibility:public modality:FINAL <> ($this:foo.B) returnType:kotlin.String flags: + 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:[] 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 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:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] BLOCK_BODY - VAR name:c type:foo.C flags:val - CALL 'constructor C()' type=foo.C origin=null - RETURN type=kotlin.Nothing from='box(): String' + 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:[]' 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 9de02e311dc..0f9c7b12391 100644 --- a/compiler/testData/ir/irText/classes/abstractMembers.txt +++ b/compiler/testData/ir/irText/classes/abstractMembers.txt @@ -1,64 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AbstractClass flags:[] + CONSTRUCTOR visibility:public <> () returnType:.AbstractClass flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='AbstractClass' - 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 '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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/annotationClasses.txt b/compiler/testData/ir/irText/classes/annotationClasses.txt index f506464e15a..8b47200425f 100644 --- a/compiler/testData/ir/irText/classes/annotationClasses.txt +++ b/compiler/testData/ir/irText/classes/annotationClasses.txt @@ -1,116 +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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int = ...' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test2: Test2' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Test1' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Test1' - GET_FIELD 'x: Test1' type=Test1 origin=null - receiver: GET_VAR 'this@Test3: Test3' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] EXPRESSION_BODY - GET_VAR 'value-parameter vararg xs: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): IntArray' - GET_FIELD 'xs: IntArray' type=kotlin.IntArray origin=null - receiver: GET_VAR 'this@Test4: Test4' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.txt b/compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.txt index 2c16bb0a499..c3040b7e9b5 100644 --- a/compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.txt +++ b/compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.txt @@ -1,150 +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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Base: Base' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter y: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'y: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Base: Base' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 yy: Int' type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_x type:kotlin.Int flags:val - GET_VAR 'value-parameter xx: Int' type=kotlin.Int origin=null - DELEGATING_CONSTRUCTOR_CALL 'constructor Base(Int, Int)' - x: GET_VAR 'tmp1_x: Int' type=kotlin.Int origin=null - y: GET_VAR 'tmp0_y: Int' type=kotlin.Int origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - 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 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] 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 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] 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 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] 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 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] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 yy: Int' type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_x type:kotlin.Int flags:val - GET_VAR 'value-parameter xx: Int' type=kotlin.Int origin=null - DELEGATING_CONSTRUCTOR_CALL 'constructor Base(Int, Int)' - x: GET_VAR 'tmp1_x: Int' type=kotlin.Int origin=null - y: GET_VAR 'tmp0_y: Int' type=kotlin.Int origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='Test2' - 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 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:[] 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 yyy: Int' type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_xx type:kotlin.Int flags:val - GET_VAR 'value-parameter xxx: Int' type=kotlin.Int origin=null - DELEGATING_CONSTRUCTOR_CALL 'constructor Test2(Int, Int)' - xx: GET_VAR 'tmp1_xx: Int' type=kotlin.Int origin=null - yy: GET_VAR 'tmp0_yy: Int' 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 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] 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 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] 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 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] 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 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] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/classMembers.txt b/compiler/testData/ir/irText/classes/classMembers.txt index f4d256e3f3e..5b889371ffe 100644 --- a/compiler/testData/ir/irText/classes/classMembers.txt +++ b/compiler/testData/ir/irText/classes/classMembers.txt @@ -1,179 +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 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:[] EXPRESSION_BODY CONST Int type=kotlin.Int value=1 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter y: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'y: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' 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='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:[] EXPRESSION_BODY - GET_VAR 'value-parameter z: Int = ...' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'z: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' 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='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:[] BLOCK_BODY - SET_FIELD 'z: 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 - CONSTRUCTOR visibility:public <> () returnType:C flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor C(Int, Int, Int = ...)' + DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int, z:kotlin.Int) returnType:.C flags:[primary]' 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:property type:kotlin.Int visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:property visibility:public modality:FINAL flags:[val] + $this: VALUE_PARAMETER name: type:.C flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'property: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@C: C' 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='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:[] BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_VAR 'this@C: C' type=C origin=null - : GET_VAR 'value-parameter value: Int' 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 '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:[] BLOCK_BODY - CALL 'println(Any?): Unit' 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: 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 flags:[] + $this: VALUE_PARAMETER name: type:.C flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Int flags:[] BLOCK_BODY - CALL 'println(Any?): Unit' 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: 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.NestedClass flags:[] + CONSTRUCTOR visibility:public <> () returnType:.C.NestedClass flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='NestedClass' - 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 '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:[] BLOCK_BODY - CALL 'println(Any?): Unit' 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: 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 flags:[] + $this: VALUE_PARAMETER name: type:.C.NestedClass flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Int flags:[] BLOCK_BODY - CALL 'println(Any?): Unit' 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: 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='bar(): Unit' - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@NestedInterface: NestedInterface' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='companion object of C' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/classes.txt b/compiler/testData/ir/irText/classes/classes.txt index c2e72f66e6c..d8b81bfa2f3 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestClass flags:[] + CONSTRUCTOR visibility:public <> () returnType:.TestClass flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestClass' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestObject' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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] - $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 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] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: TestEnumClass - INSTANCE_INITIALIZER_CALL classDescriptor='TestEnumClass' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestEnumClass flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/classes/companionObject.txt b/compiler/testData/ir/irText/classes/companionObject.txt index 7f275589aea..d3f5f5b8642 100644 --- a/compiler/testData/ir/irText/classes/companionObject.txt +++ b/compiler/testData/ir/irText/classes/companionObject.txt @@ -1,78 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Test1 flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - 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 '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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='companion object of Test1' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test2' - 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 '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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='companion object of Test2Named' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.txt b/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.txt index 0492d00690a..55f806c5138 100644 --- a/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.txt +++ b/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.txt @@ -1,671 +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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter stringArray: Array' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Array' - GET_FIELD 'stringArray: Array' type=kotlin.Array origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter charArray: CharArray' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): CharArray' - GET_FIELD 'charArray: CharArray' type=kotlin.CharArray origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter booleanArray: BooleanArray' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): BooleanArray' - GET_FIELD 'booleanArray: BooleanArray' type=kotlin.BooleanArray origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter byteArray: ByteArray' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): ByteArray' - GET_FIELD 'byteArray: ByteArray' type=kotlin.ByteArray origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter shortArray: ShortArray' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): ShortArray' - GET_FIELD 'shortArray: ShortArray' type=kotlin.ShortArray origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter intArray: IntArray' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): IntArray' - GET_FIELD 'intArray: IntArray' type=kotlin.IntArray origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter longArray: LongArray' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): LongArray' - GET_FIELD 'longArray: LongArray' type=kotlin.LongArray origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter floatArray: FloatArray' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): FloatArray' - GET_FIELD 'floatArray: FloatArray' type=kotlin.FloatArray origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter doubleArray: DoubleArray' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): DoubleArray' - GET_FIELD 'doubleArray: DoubleArray' type=kotlin.DoubleArray origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1(): Array' - CALL '(): Array' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component2(): CharArray' - CALL '(): CharArray' type=kotlin.CharArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component3(): BooleanArray' - CALL '(): BooleanArray' type=kotlin.BooleanArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component4(): ByteArray' - CALL '(): ByteArray' type=kotlin.ByteArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component5(): ShortArray' - CALL '(): ShortArray' type=kotlin.ShortArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component6(): IntArray' - CALL '(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component7(): LongArray' - CALL '(): LongArray' type=kotlin.LongArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component8(): FloatArray' - CALL '(): FloatArray' type=kotlin.FloatArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component9(): DoubleArray' - CALL '(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' 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='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:[] EXPRESSION_BODY - CALL '(): Array' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - VALUE_PARAMETER name:charArray index:1 type:kotlin.CharArray 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 + VALUE_PARAMETER name:charArray index:1 type:kotlin.CharArray flags:[] EXPRESSION_BODY - CALL '(): CharArray' type=kotlin.CharArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - VALUE_PARAMETER name:booleanArray index:2 type:kotlin.BooleanArray 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 + VALUE_PARAMETER name:booleanArray index:2 type:kotlin.BooleanArray flags:[] EXPRESSION_BODY - CALL '(): BooleanArray' type=kotlin.BooleanArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - VALUE_PARAMETER name:byteArray index:3 type:kotlin.ByteArray 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 + VALUE_PARAMETER name:byteArray index:3 type:kotlin.ByteArray flags:[] EXPRESSION_BODY - CALL '(): ByteArray' type=kotlin.ByteArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - VALUE_PARAMETER name:shortArray index:4 type:kotlin.ShortArray 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 + VALUE_PARAMETER name:shortArray index:4 type:kotlin.ShortArray flags:[] EXPRESSION_BODY - CALL '(): ShortArray' type=kotlin.ShortArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - VALUE_PARAMETER name:intArray index:5 type:kotlin.IntArray 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 + VALUE_PARAMETER name:intArray index:5 type:kotlin.IntArray flags:[] EXPRESSION_BODY - CALL '(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - VALUE_PARAMETER name:longArray index:6 type:kotlin.LongArray 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 + VALUE_PARAMETER name:longArray index:6 type:kotlin.LongArray flags:[] EXPRESSION_BODY - CALL '(): LongArray' type=kotlin.LongArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - VALUE_PARAMETER name:floatArray index:7 type:kotlin.FloatArray 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 + VALUE_PARAMETER name:floatArray index:7 type:kotlin.FloatArray flags:[] EXPRESSION_BODY - CALL '(): FloatArray' type=kotlin.FloatArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - VALUE_PARAMETER name:doubleArray index:8 type:kotlin.DoubleArray 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 + VALUE_PARAMETER name:doubleArray index:8 type:kotlin.DoubleArray flags:[] EXPRESSION_BODY - CALL '(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 BLOCK_BODY - RETURN type=kotlin.Nothing from='copy(Array = ..., CharArray = ..., BooleanArray = ..., ByteArray = ..., ShortArray = ..., IntArray = ..., LongArray = ..., FloatArray = ..., DoubleArray = ...): Test1' - CALL 'constructor Test1(Array, CharArray, BooleanArray, ByteArray, ShortArray, IntArray, LongArray, FloatArray, DoubleArray)' type=Test1 origin=null - stringArray: GET_VAR 'value-parameter stringArray: Array = ...' type=kotlin.Array origin=null - charArray: GET_VAR 'value-parameter charArray: CharArray = ...' type=kotlin.CharArray origin=null - booleanArray: GET_VAR 'value-parameter booleanArray: BooleanArray = ...' type=kotlin.BooleanArray origin=null - byteArray: GET_VAR 'value-parameter byteArray: ByteArray = ...' type=kotlin.ByteArray origin=null - shortArray: GET_VAR 'value-parameter shortArray: ShortArray = ...' type=kotlin.ShortArray origin=null - intArray: GET_VAR 'value-parameter intArray: IntArray = ...' type=kotlin.IntArray origin=null - longArray: GET_VAR 'value-parameter longArray: LongArray = ...' type=kotlin.LongArray origin=null - floatArray: GET_VAR 'value-parameter floatArray: FloatArray = ...' type=kotlin.FloatArray origin=null - doubleArray: GET_VAR 'value-parameter doubleArray: DoubleArray = ...' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test1 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test1(" CONST String type=kotlin.String value="stringArray=" - CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null - arg0: CALL '(): Array' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="charArray=" - CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null - arg0: CALL '(): CharArray' type=kotlin.CharArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="booleanArray=" - CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null - arg0: CALL '(): BooleanArray' type=kotlin.BooleanArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="byteArray=" - CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null - arg0: CALL '(): ByteArray' type=kotlin.ByteArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="shortArray=" - CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null - arg0: CALL '(): ShortArray' type=kotlin.ShortArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="intArray=" - CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null - arg0: CALL '(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="longArray=" - CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null - arg0: CALL '(): LongArray' type=kotlin.LongArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="floatArray=" - CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null - arg0: CALL '(): FloatArray' type=kotlin.FloatArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="doubleArray=" - CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null - arg0: CALL '(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test1 flags:[] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null - arg0: CALL '(): Array' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + 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 other: CONST Int type=kotlin.Int value=31 - other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null - arg0: CALL '(): CharArray' type=kotlin.CharArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + 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: CONST Int type=kotlin.Int value=31 - other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null - arg0: CALL '(): BooleanArray' type=kotlin.BooleanArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + 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: CONST Int type=kotlin.Int value=31 - other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null - arg0: CALL '(): ByteArray' type=kotlin.ByteArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + 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: CONST Int type=kotlin.Int value=31 - other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null - arg0: CALL '(): ShortArray' type=kotlin.ShortArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + 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: CONST Int type=kotlin.Int value=31 - other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null - arg0: CALL '(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + 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: CONST Int type=kotlin.Int value=31 - other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null - arg0: CALL '(): LongArray' type=kotlin.LongArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + 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: CONST Int type=kotlin.Int value=31 - other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null - arg0: CALL '(): FloatArray' type=kotlin.FloatArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + 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: CONST Int type=kotlin.Int value=31 - other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null - arg0: CALL '(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - RETURN type=kotlin.Nothing from='hashCode(): Int' - GET_VAR 'tmp0_result: Int' 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 '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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test1 flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test1 flags: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 other: Any?' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Array' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: CALL '(): Array' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): CharArray' type=kotlin.CharArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: CALL '(): CharArray' type=kotlin.CharArray origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): BooleanArray' type=kotlin.BooleanArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: CALL '(): BooleanArray' type=kotlin.BooleanArray origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): ByteArray' type=kotlin.ByteArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: CALL '(): ByteArray' type=kotlin.ByteArray origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): ShortArray' type=kotlin.ShortArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: CALL '(): ShortArray' type=kotlin.ShortArray origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: CALL '(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): LongArray' type=kotlin.LongArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: CALL '(): LongArray' type=kotlin.LongArray origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): FloatArray' type=kotlin.FloatArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: CALL '(): FloatArray' type=kotlin.FloatArray origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: CALL '(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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: + CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2<.Test2.T> flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (genericArray:kotlin.Array) returnType:Test2 flags:primary - VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test2' - PROPERTY name:genericArray visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:genericArray type:kotlin.Array visibility:public flags:final + 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] EXPRESSION_BODY - GET_VAR 'value-parameter genericArray: Array' type=kotlin.Array origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test2) returnType:kotlin.Array flags: - correspondingProperty: PROPERTY name:genericArray visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Test2 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Array' - GET_FIELD 'genericArray: Array' type=kotlin.Array origin=null - receiver: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:Test2) returnType:kotlin.Array flags: - $this: VALUE_PARAMETER name: type:Test2 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1(): Array' - CALL '(): Array' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:Test2, genericArray:kotlin.Array) returnType:Test2 flags: - $this: VALUE_PARAMETER name: type:Test2 flags: - VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array flags: + 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:[] EXPRESSION_BODY - CALL '(): Array' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null + 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 BLOCK_BODY - RETURN type=kotlin.Nothing from='copy(Array = ...): Test2' - CALL 'constructor Test2(Array)' type=Test2 origin=null - : T - genericArray: GET_VAR 'value-parameter genericArray: Array = ...' type=kotlin.Array origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:Test2) returnType:kotlin.String flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test2(" CONST String type=kotlin.String value="genericArray=" - CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null - arg0: CALL '(): Array' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null + 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 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<.Test2.T>) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null - arg0: CALL '(): Array' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - RETURN type=kotlin.Nothing from='hashCode(): Int' - GET_VAR 'tmp0_result: Int' 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: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test2 flags: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 other: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Array' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - arg1: CALL '(): Array' type=kotlin.Array origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test2' type=Test2 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test3' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter anyArrayN: Array?' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Array?' - GET_FIELD 'anyArrayN: Array?' type=kotlin.Array? origin=null - receiver: GET_VAR 'this@Test3: Test3' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1(): Array?' - CALL '(): Array?' type=kotlin.Array? origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' 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='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:[] EXPRESSION_BODY - CALL '(): Array?' type=kotlin.Array? origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null + 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 BLOCK_BODY - RETURN type=kotlin.Nothing from='copy(Array? = ...): Test3' - CALL 'constructor Test3(Array?)' type=Test3 origin=null - anyArrayN: GET_VAR 'value-parameter anyArrayN: Array? = ...' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test3 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test3) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test3(" CONST String type=kotlin.String value="anyArrayN=" - CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null - arg0: CALL '(): Array?' type=kotlin.Array? origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test3 flags:[] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ + SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ BLOCK type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Array? flags:val - CALL '(): Array?' type=kotlin.Array? origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 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 WHEN type=kotlin.Int origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp1: Array?' type=kotlin.Array? origin=null + 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 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 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null - arg0: GET_VAR 'tmp1: Array?' type=kotlin.Array? origin=null - RETURN type=kotlin.Nothing from='hashCode(): Int' - GET_VAR 'tmp0_result: Int' 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 '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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test3 flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test3 flags: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 other: Any?' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test3 flags:[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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Array?' type=kotlin.Array? origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - arg1: CALL '(): Array?' type=kotlin.Array? origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test3' type=Test3 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 3909b4fe2db..f2d56a0e2e4 100644 --- a/compiler/testData/ir/irText/classes/dataClasses.txt +++ b/compiler/testData/ir/irText/classes/dataClasses.txt @@ -1,545 +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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter y: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'y: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter z: Any' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Any' - GET_FIELD 'z: Any' type=kotlin.Any origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1(): Int' - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component2(): String' - CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component3(): Any' - CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' 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='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:[] EXPRESSION_BODY - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - VALUE_PARAMETER name:y index:1 type:kotlin.String 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 + VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[] EXPRESSION_BODY - CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - VALUE_PARAMETER name:z index:2 type:kotlin.Any 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 + VALUE_PARAMETER name:z index:2 type:kotlin.Any flags:[] EXPRESSION_BODY - CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 BLOCK_BODY - RETURN type=kotlin.Nothing from='copy(Int = ..., String = ..., Any = ...): Test1' - CALL 'constructor Test1(Int, String, Any)' type=Test1 origin=null - x: GET_VAR 'value-parameter x: Int = ...' type=kotlin.Int origin=null - y: GET_VAR 'value-parameter y: String = ...' type=kotlin.String origin=null - z: GET_VAR 'value-parameter z: Any = ...' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test1 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test1(" CONST String type=kotlin.String value="x=" - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="y=" - CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="z=" - CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test1 flags:[] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'hashCode(): Int' type=kotlin.Int origin=null - $this: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + 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 other: CONST Int type=kotlin.Int value=31 - other: CALL 'hashCode(): Int' type=kotlin.Int origin=null - $this: CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + 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: CONST Int type=kotlin.Int value=31 - other: CALL 'hashCode(): Int' type=kotlin.Int origin=null - $this: CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - RETURN type=kotlin.Nothing from='hashCode(): Int' - GET_VAR 'tmp0_result: Int' 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 '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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test1 flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test1 flags: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 other: Any?' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test1 flags:[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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test2' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Any?' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Any?' - GET_FIELD 'x: Any?' type=kotlin.Any? origin=null - receiver: GET_VAR 'this@Test2: Test2' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1(): Any?' - CALL '(): Any?' type=kotlin.Any? origin=GET_PROPERTY - $this: GET_VAR 'this@Test2: Test2' 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='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:[] EXPRESSION_BODY - CALL '(): Any?' type=kotlin.Any? origin=GET_PROPERTY - $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null + 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 BLOCK_BODY - RETURN type=kotlin.Nothing from='copy(Any? = ...): Test2' - CALL 'constructor Test2(Any?)' type=Test2 origin=null - x: GET_VAR 'value-parameter x: Any? = ...' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test2(" CONST String type=kotlin.String value="x=" - CALL '(): Any?' type=kotlin.Any? origin=GET_PROPERTY - $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2 flags:[] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ + SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ BLOCK type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Any? flags:val - CALL '(): Any?' type=kotlin.Any? origin=GET_PROPERTY - $this: GET_VAR 'this@Test2: Test2' type=Test2 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 WHEN type=kotlin.Int origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp1: Any?' type=kotlin.Any? origin=null + 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 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 'hashCode(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp1: Any?' type=kotlin.Any? origin=null - RETURN type=kotlin.Nothing from='hashCode(): Int' - GET_VAR 'tmp0_result: Int' 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 '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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2 flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test2 flags: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 other: Any?' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test2 flags:[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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Any?' type=kotlin.Any? origin=GET_PROPERTY - $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - arg1: CALL '(): Any?' type=kotlin.Any? origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test2' type=Test2 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test3' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter d: Double' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Double' - GET_FIELD 'd: Double' type=kotlin.Double origin=null - receiver: GET_VAR 'this@Test3: Test3' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter dn: Double?' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Double?' - GET_FIELD 'dn: Double?' type=kotlin.Double? origin=null - receiver: GET_VAR 'this@Test3: Test3' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter f: Float' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Float' - GET_FIELD 'f: Float' type=kotlin.Float origin=null - receiver: GET_VAR 'this@Test3: Test3' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter df: Float?' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Float?' - GET_FIELD 'df: Float?' type=kotlin.Float? origin=null - receiver: GET_VAR 'this@Test3: Test3' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1(): Double' - CALL '(): Double' type=kotlin.Double origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component2(): Double?' - CALL '(): Double?' type=kotlin.Double? origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component3(): Float' - CALL '(): Float' type=kotlin.Float origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component4(): Float?' - CALL '(): Float?' type=kotlin.Float? origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' 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='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:[] EXPRESSION_BODY - CALL '(): Double' type=kotlin.Double origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - VALUE_PARAMETER name:dn index:1 type: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 + VALUE_PARAMETER name:dn index:1 type:kotlin.Double? flags:[] EXPRESSION_BODY - CALL '(): Double?' type=kotlin.Double? origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - VALUE_PARAMETER name:f index:2 type:kotlin.Float 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 + VALUE_PARAMETER name:f index:2 type:kotlin.Float flags:[] EXPRESSION_BODY - CALL '(): Float' type=kotlin.Float origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - VALUE_PARAMETER name:df index:3 type: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 + VALUE_PARAMETER name:df index:3 type:kotlin.Float? flags:[] EXPRESSION_BODY - CALL '(): Float?' type=kotlin.Float? origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null + 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 BLOCK_BODY - RETURN type=kotlin.Nothing from='copy(Double = ..., Double? = ..., Float = ..., Float? = ...): Test3' - CALL 'constructor Test3(Double, Double?, Float, Float?)' type=Test3 origin=null - d: GET_VAR 'value-parameter d: Double = ...' type=kotlin.Double origin=null - dn: GET_VAR 'value-parameter dn: Double? = ...' type=kotlin.Double? origin=null - f: GET_VAR 'value-parameter f: Float = ...' type=kotlin.Float origin=null - df: GET_VAR 'value-parameter df: Float? = ...' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test3 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test3) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test3(" CONST String type=kotlin.String value="d=" - CALL '(): Double' type=kotlin.Double origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null + 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 CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="dn=" - CALL '(): Double?' type=kotlin.Double? origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null + 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 CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="f=" - CALL '(): Float' type=kotlin.Float origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null + 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 CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="df=" - CALL '(): Float?' type=kotlin.Float? origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test3 flags:[] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'hashCode(): Int' type=kotlin.Int origin=null - $this: CALL '(): Double' type=kotlin.Double origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + 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 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 '(): Double?' type=kotlin.Double? origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 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 WHEN type=kotlin.Int origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp1: Double?' type=kotlin.Double? origin=null + 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 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 'hashCode(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp1: Double?' type=kotlin.Double? origin=null - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + 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 other: CONST Int type=kotlin.Int value=31 - other: CALL 'hashCode(): Int' type=kotlin.Int origin=null - $this: CALL '(): Float' type=kotlin.Float origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + 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: 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 '(): Float?' type=kotlin.Float? origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 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 WHEN type=kotlin.Int origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp2: Float?' type=kotlin.Float? origin=null + 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 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 'hashCode(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp2: Float?' type=kotlin.Float? origin=null - RETURN type=kotlin.Nothing from='hashCode(): Int' - GET_VAR 'tmp0_result: Int' 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 '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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test3 flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test3 flags: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 other: Any?' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test3 flags:[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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Double' type=kotlin.Double origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - arg1: CALL '(): Double' type=kotlin.Double origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test3' type=Test3 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Double?' type=kotlin.Double? origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - arg1: CALL '(): Double?' type=kotlin.Double? origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test3' type=Test3 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Float' type=kotlin.Float origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - arg1: CALL '(): Float' type=kotlin.Float origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test3' type=Test3 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Float?' type=kotlin.Float? origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - arg1: CALL '(): Float?' type=kotlin.Float? origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test3' type=Test3 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 2ba060c4e05..3ab0964cf0a 100644 --- a/compiler/testData/ir/irText/classes/dataClassesGeneric.txt +++ b/compiler/testData/ir/irText/classes/dataClassesGeneric.txt @@ -1,399 +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 flags: + CLASS CLASS name:Test1 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1<.Test1.T> flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:T) returnType:Test1 flags:primary - VALUE_PARAMETER name:x index:0 type:T flags: + CONSTRUCTOR visibility:public <> (x:.Test1.T) returnType:.Test1<.Test1.T> flags:[primary] + VALUE_PARAMETER name:x index:0 type:.Test1.T flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - PROPERTY name:x visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:x type:T visibility:public flags:final + 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: T' type=T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test1) returnType:T flags: - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Test1 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): T' - GET_FIELD 'x: T' type=T origin=null - receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:Test1) returnType:T flags: - $this: VALUE_PARAMETER name: type:Test1 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1(): T' - CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:Test1, x:T) returnType:Test1 flags: - $this: VALUE_PARAMETER name: type:Test1 flags: - VALUE_PARAMETER name:x index:0 type:T flags: + 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:[] EXPRESSION_BODY - CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 BLOCK_BODY - RETURN type=kotlin.Nothing from='copy(T = ...): Test1' - CALL 'constructor Test1(T)' type=Test1 origin=null - : T - x: GET_VAR 'value-parameter x: T = ...' type=T origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:Test1) returnType:kotlin.String flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test1<.Test1.T>) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test1(" CONST String type=kotlin.String value="x=" - CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 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<.Test1.T>) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ + SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ BLOCK type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:T flags:val - CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 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 WHEN type=kotlin.Int origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp1: T' type=T origin=null + 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 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 'hashCode(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp1: T' type=T origin=null - RETURN type=kotlin.Nothing from='hashCode(): Int' - GET_VAR 'tmp0_result: Int' 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: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test1<.Test1.T> flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test1 flags: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 other: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - arg1: CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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: + CLASS CLASS name:Test2 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2<.Test2.T> flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] - CONSTRUCTOR visibility:public <> (x:T) returnType:Test2 flags:primary - VALUE_PARAMETER name:x index:0 type:T flags: + CONSTRUCTOR visibility:public <> (x:.Test2.T) returnType:.Test2<.Test2.T> flags:[primary] + VALUE_PARAMETER name:x index:0 type:.Test2.T flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test2' - PROPERTY name:x visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:x type:T visibility:public flags:final + 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: T' type=T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test2) returnType:T flags: - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Test2 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): T' - GET_FIELD 'x: T' type=T origin=null - receiver: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:Test2) returnType:T flags: - $this: VALUE_PARAMETER name: type:Test2 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1(): T' - CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:Test2, x:T) returnType:Test2 flags: - $this: VALUE_PARAMETER name: type:Test2 flags: - VALUE_PARAMETER name:x index:0 type:T flags: + 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:[] EXPRESSION_BODY - CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null + 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 BLOCK_BODY - RETURN type=kotlin.Nothing from='copy(T = ...): Test2' - CALL 'constructor Test2(T)' type=Test2 origin=null - : T - x: GET_VAR 'value-parameter x: T = ...' type=T origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:Test2) returnType:kotlin.String flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test2<.Test2.T>) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test2(" CONST String type=kotlin.String value="x=" - CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null + 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 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<.Test2.T>) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'hashCode(): Int' type=kotlin.Int origin=null - $this: CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - RETURN type=kotlin.Nothing from='hashCode(): Int' - GET_VAR 'tmp0_result: Int' 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: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2<.Test2.T> flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test2 flags: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 other: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - arg1: CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test2' type=Test2 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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: + CLASS CLASS name:Test3 modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3<.Test3.T> flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:kotlin.collections.List) returnType:Test3 flags:primary - VALUE_PARAMETER name:x index:0 type:kotlin.collections.List flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test3' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: List' type=kotlin.collections.List origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test3) returnType:kotlin.collections.List flags: - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Test3 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): List' - GET_FIELD 'x: List' type=kotlin.collections.List origin=null - receiver: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:Test3) returnType:kotlin.collections.List flags: - $this: VALUE_PARAMETER name: type:Test3 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1(): List' - CALL '(): List' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:Test3, x:kotlin.collections.List) returnType:Test3 flags: - $this: VALUE_PARAMETER name: type:Test3 flags: - VALUE_PARAMETER name:x index:0 type:kotlin.collections.List flags: + 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:[] EXPRESSION_BODY - CALL '(): List' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null + 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 BLOCK_BODY - RETURN type=kotlin.Nothing from='copy(List = ...): Test3' - CALL 'constructor Test3(List)' type=Test3 origin=null - : T - x: GET_VAR 'value-parameter x: List = ...' type=kotlin.collections.List origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:Test3) returnType:kotlin.String flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test3<.Test3.T>) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test3(" CONST String type=kotlin.String value="x=" - CALL '(): List' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null + 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 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<.Test3.T>) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'hashCode(): Int' type=kotlin.Int origin=null - $this: CALL '(): List' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - RETURN type=kotlin.Nothing from='hashCode(): Int' - GET_VAR 'tmp0_result: Int' 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: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test3<.Test3.T> flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test3 flags: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 other: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): List' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - arg1: CALL '(): List' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test3' type=Test3 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test4' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: List' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): List' - GET_FIELD 'x: List' type=kotlin.collections.List origin=null - receiver: GET_VAR 'this@Test4: Test4' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1(): List' - CALL '(): List' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'this@Test4: Test4' 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='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:[] EXPRESSION_BODY - CALL '(): List' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'this@Test4: Test4' type=Test4 origin=null + 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 BLOCK_BODY - RETURN type=kotlin.Nothing from='copy(List = ...): Test4' - CALL 'constructor Test4(List)' type=Test4 origin=null - x: GET_VAR 'value-parameter x: List = ...' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test4 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test4) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test4(" CONST String type=kotlin.String value="x=" - CALL '(): List' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'this@Test4: Test4' type=Test4 origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test4 flags:[] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'hashCode(): Int' type=kotlin.Int origin=null - $this: CALL '(): List' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'this@Test4: Test4' type=Test4 origin=null - RETURN type=kotlin.Nothing from='hashCode(): Int' - GET_VAR 'tmp0_result: Int' 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test4 flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'this@Test4: Test4' type=Test4 origin=null - arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test4 flags: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 other: Any?' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test4 flags:[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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): List' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'this@Test4: Test4' type=Test4 origin=null - arg1: CALL '(): List' type=kotlin.collections.List origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test4' type=Test4 origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 159209b487d..d4d4ca92b73 100644 --- a/compiler/testData/ir/irText/classes/delegatedImplementation.txt +++ b/compiler/testData/ir/irText/classes/delegatedImplementation.txt @@ -1,383 +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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='BaseImpl' - FUN name:foo visibility:public modality:OPEN <> ($this:BaseImpl, x:kotlin.Int, s:kotlin.String) returnType:kotlin.Unit flags: + 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:[] 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 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:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.BaseImpl flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='bar(): Int' + RETURN type=kotlin.Nothing from='FUN name:bar visibility:public modality:OPEN <> ($this:.BaseImpl) returnType:kotlin.Int flags:[]' 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.BaseImpl flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='otherImpl(String, Int): IOther' - 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 + RETURN type=kotlin.Nothing from='FUN name:otherImpl visibility:public modality:FINAL <> (x0:kotlin.String, y0:kotlin.Int) returnType:.IOther flags:[]' + 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x0: String' 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 '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] 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 flags:[] + $this: VALUE_PARAMETER name: type:.otherImpl. flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'x: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@: ' 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='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:[] EXPRESSION_BODY - GET_VAR 'value-parameter y0: Int' 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 '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] 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 flags:[] + $this: VALUE_PARAMETER name: type:.otherImpl. flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'y: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@: ' 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='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] 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 flags:[] + $this: VALUE_PARAMETER name: type:.otherImpl. flags:[] + VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] BLOCK_BODY - SET_FIELD 'y: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@: ' type=otherImpl. origin=null - value: GET_VAR 'value-parameter : Int' 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 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] 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 flags:[] + $this: VALUE_PARAMETER name: type:.otherImpl. flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on Byte: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN <> ($this:.otherImpl., $receiver:kotlin.Byte) returnType:kotlin.Int flags:[]' 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 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] 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 flags:[] + $this: VALUE_PARAMETER name: type:.otherImpl. flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on Byte: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN <> ($this:.otherImpl., $receiver:kotlin.Byte) returnType:kotlin.Int flags:[]' 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 flags:[] + correspondingProperty: PROPERTY name:z2 visibility:public modality:OPEN flags:[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 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:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 ()' 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - FIELD DELEGATE name:Test1$IBase$delegate type:BaseImpl visibility:private flags:final + 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] EXPRESSION_BODY - GET_OBJECT 'BaseImpl' 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 flags:[] superTypes:[.IBase]' type=.BaseImpl + FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:.Test1) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test1 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='bar(): Int' - CALL 'bar(): Int' type=kotlin.Int origin=null - $this: GET_FIELD '`Test1$IBase$delegate`: BaseImpl' type=BaseImpl origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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:[] 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 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:[] BLOCK_BODY - CALL 'foo(Int, String): Unit' type=kotlin.Unit origin=null - $this: GET_FIELD '`Test1$IBase$delegate`: BaseImpl' type=BaseImpl origin=null - receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - x: GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null - s: GET_VAR 'value-parameter s: String' type=kotlin.String origin=null - FUN DELEGATED_MEMBER name:qux visibility:public modality:OPEN <> ($this:Test1, $receiver:kotlin.String) returnType:kotlin.Unit flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test1 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] BLOCK_BODY - CALL 'qux() on String: Unit' type=kotlin.Unit origin=null - $this: GET_FIELD '`Test1$IBase$delegate`: BaseImpl' type=BaseImpl origin=null - receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - $receiver: GET_VAR 'this@qux: 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: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test2' - FIELD DELEGATE name:Test2$IBase$delegate type:BaseImpl visibility:private flags:final + 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] EXPRESSION_BODY - GET_OBJECT 'BaseImpl' 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 flags:[] superTypes:[.IBase]' type=.BaseImpl + FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:.Test2) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='bar(): Int' - CALL 'bar(): Int' type=kotlin.Int origin=null - $this: GET_FIELD '`Test2$IBase$delegate`: BaseImpl' type=BaseImpl origin=null - receiver: GET_VAR 'this@Test2: Test2' 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='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:[] 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 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:[] BLOCK_BODY - CALL 'foo(Int, String): Unit' type=kotlin.Unit origin=null - $this: GET_FIELD '`Test2$IBase$delegate`: BaseImpl' type=BaseImpl origin=null - receiver: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - x: GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null - s: GET_VAR 'value-parameter s: String' type=kotlin.String origin=null - FUN DELEGATED_MEMBER name:qux visibility:public modality:OPEN <> ($this:Test2, $receiver:kotlin.String) returnType:kotlin.Unit flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] BLOCK_BODY - CALL 'qux() on String: Unit' type=kotlin.Unit origin=null - $this: GET_FIELD '`Test2$IBase$delegate`: BaseImpl' type=BaseImpl origin=null - receiver: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - $receiver: GET_VAR 'this@qux: String' type=kotlin.String origin=null - FIELD DELEGATE name:Test2$IOther$delegate type:IOther visibility:private flags:final + 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] EXPRESSION_BODY - CALL 'otherImpl(String, Int): IOther' type=IOther origin=null + CALL 'FUN name:otherImpl visibility:public modality:FINAL <> (x0:kotlin.String, y0:kotlin.Int) returnType:.IOther flags:[]' 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 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] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on Byte: Int' - CALL '() on Byte: Int' type=kotlin.Int origin=null - $this: GET_FIELD '`Test2$IOther$delegate`: IOther' type=IOther origin=null - receiver: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - $receiver: GET_VAR 'this@z1: Byte' 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='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] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - CALL '(): String' type=kotlin.String origin=null - $this: GET_FIELD '`Test2$IOther$delegate`: IOther' type=IOther origin=null - receiver: GET_VAR 'this@Test2: Test2' 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='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] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on Byte: Int' - CALL '() on Byte: Int' type=kotlin.Int origin=null - $this: GET_FIELD '`Test2$IOther$delegate`: IOther' type=IOther origin=null - receiver: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - $receiver: GET_VAR 'this@z2: Byte' 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='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] 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 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:[] BLOCK_BODY - CALL '(Int) on Byte: Unit' type=kotlin.Unit origin=null - $this: GET_FIELD '`Test2$IOther$delegate`: IOther' type=IOther origin=null - receiver: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - $receiver: GET_VAR 'this@z2: Byte' type=kotlin.Byte origin=null - : GET_VAR 'value-parameter : Int' 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 '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] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL '(): Int' type=kotlin.Int origin=null - $this: GET_FIELD '`Test2$IOther$delegate`: IOther' type=IOther origin=null - receiver: GET_VAR 'this@Test2: Test2' 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='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] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2 flags:[] + VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=null - $this: GET_FIELD '`Test2$IOther$delegate`: IOther' type=IOther origin=null - receiver: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - : 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: + 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:[] 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 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:[] 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 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:[] 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 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:[] diff --git a/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.txt b/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.txt index 8206d4f5e16..3f80b7a3341 100644 --- a/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.txt +++ b/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.txt @@ -1,85 +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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='FooBarImpl' - FUN name:foo visibility:public modality:OPEN <> ($this:FooBarImpl) returnType:kotlin.Unit flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.FooBarImpl flags:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.FooBarImpl flags:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - FIELD DELEGATE name:C$IFooBar$delegate type:FooBarImpl visibility:private flags:final + 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] EXPRESSION_BODY - GET_OBJECT 'FooBarImpl' 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 flags:[] superTypes:[.IFooBar]' type=.FooBarImpl + FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.C flags:[] BLOCK_BODY - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_FIELD '`C$IFooBar$delegate`: FooBarImpl' type=FooBarImpl origin=null - receiver: GET_VAR 'this@C: C' type=C origin=null - FUN name:bar visibility:public modality:OPEN <> ($this:C) returnType:kotlin.Unit flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.C flags:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.txt b/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.txt index b04369ff0ef..73fc3405b3d 100644 --- a/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.txt +++ b/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.txt @@ -1,89 +1,89 @@ 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 flags: + CLASS CLASS name:Cell modality:OPEN visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell<.Cell.T> flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (value:T) returnType:Cell flags:primary - VALUE_PARAMETER name:value index:0 type:T flags: + CONSTRUCTOR visibility:public <> (value:.Cell.T) returnType:.Cell<.Cell.T> flags:[primary] + VALUE_PARAMETER name:value index:0 type:.Cell.T flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Cell' - PROPERTY name:value visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:value type:T visibility:public flags:final + 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] 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:Cell) returnType:T flags: - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Cell flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): T' - GET_FIELD 'value: T' type=T origin=null - receiver: GET_VAR 'this@Cell: Cell' type=Cell 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] TYPEALIAS typealias CT = Cell type=Cell TYPEALIAS typealias CStr = Cell type=Cell - 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 + 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Cell(T)' + DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (value:.Cell.T) returnType:.Cell<.Cell.T> flags:[primary]' : kotlin.String value: CONST String type=kotlin.String value="O" - INSTANCE_INITIALIZER_CALL classDescriptor='C1' - 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 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] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Cell) returnType: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.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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Cell(T)' + DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (value:.Cell.T) returnType:.Cell<.Cell.T> flags:[primary]' : kotlin.String value: CONST String type=kotlin.String value="K" - INSTANCE_INITIALIZER_CALL classDescriptor='C2' - 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 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] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Cell) returnType: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.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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/delegatingConstructorCallsInSecondaryConstructors.txt b/compiler/testData/ir/irText/classes/delegatingConstructorCallsInSecondaryConstructors.txt index 15f45d6ca91..9ecaf506656 100644 --- a/compiler/testData/ir/irText/classes/delegatingConstructorCallsInSecondaryConstructors.txt +++ b/compiler/testData/ir/irText/classes/delegatingConstructorCallsInSecondaryConstructors.txt @@ -1,49 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Base' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test' - CONSTRUCTOR visibility:public <> (xx:kotlin.Int) returnType:Test flags: - VALUE_PARAMETER name:xx index:0 type:kotlin.Int flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test' - CONSTRUCTOR visibility:public <> (xx:kotlin.Short) returnType:Test flags: - VALUE_PARAMETER name:xx index:0 type:kotlin.Short flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Test()' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/enum.txt b/compiler/testData/ir/irText/classes/enum.txt index 644245ade40..044c43c6a59 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] - $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 flags:[] superTypes:[kotlin.Enum<.TestEnum1>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum1 flags:[] + CONSTRUCTOR visibility:private <> () returnType:.TestEnum1 flags:[primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: TestEnum1 - INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum1' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .TestEnum1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum1>]' ENUM_ENTRY name:TEST1 - init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum1()' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestEnum1 flags:[primary]' ENUM_ENTRY name:TEST2 - init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum1()' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestEnum1 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestEnum2 modality:FINAL visibility:public flags: superTypes:[kotlin.Enum] - $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 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:[] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: TestEnum2 - INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum2' - PROPERTY name:x visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:final + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestEnum2: TestEnum2' type=TestEnum2 origin=null + 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 ENUM_ENTRY name:TEST1 - init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum2(Int)' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum2 flags:[primary]' x: CONST Int type=kotlin.Int value=1 ENUM_ENTRY name:TEST2 - init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum2(Int)' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum2 flags:[primary]' x: CONST Int type=kotlin.Int value=2 ENUM_ENTRY name:TEST3 - init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum2(Int)' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum2 flags:[primary]' x: CONST Int type=kotlin.Int value=3 - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum2>) returnType:kotlin.Any flags:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestEnum2 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestEnum3 modality:ABSTRACT visibility:public flags: superTypes:[kotlin.Enum] - $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 flags:[] superTypes:[kotlin.Enum<.TestEnum3>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestEnum3 flags:[] + CONSTRUCTOR visibility:private <> () returnType:.TestEnum3 flags:[primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: TestEnum3 - INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum3' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .TestEnum3 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum3 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum3>]' ENUM_ENTRY name:TEST - init: ENUM_CONSTRUCTOR_CALL 'constructor TEST()' - 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 '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] 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 TestEnum3()' - INSTANCE_INITIALIZER_CALL classDescriptor='TEST' - 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.TestEnum3.TEST flags:[] BLOCK_BODY - CALL 'println(Any?): Unit' 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: CONST String type=kotlin.String value="Hello, world!" - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum3>) returnType:kotlin.Any flags:[] overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum3) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum3) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestEnum3 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, 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 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:[] overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum 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) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestEnum3 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestEnum4 modality:ABSTRACT visibility:public flags: superTypes:[kotlin.Enum] - $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 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:[] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: TestEnum4 - INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum4' - PROPERTY name:x visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:final + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestEnum4: TestEnum4' type=TestEnum4 origin=null + 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 ENUM_ENTRY name:TEST1 - init: ENUM_CONSTRUCTOR_CALL 'constructor TEST1()' - 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 '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] 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 TestEnum4(Int)' + 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]' x: CONST Int type=kotlin.Int value=1 - INSTANCE_INITIALIZER_CALL classDescriptor='TEST1' - 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 flags:[] superTypes:[.TestEnum4]' + FUN name:foo visibility:public modality:OPEN <> ($this:.TestEnum4.TEST1) returnType:kotlin.Unit flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.TestEnum4.TEST1 flags:[] BLOCK_BODY - CALL 'println(Any?): Unit' type=kotlin.Unit origin=null - message: GET_ENUM 'TEST1' type=TestEnum4 - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any 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 + 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:[] overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum4) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum4) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestEnum4 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, 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 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:[] overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum 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 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] 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 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] 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) returnType:kotlin.String flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: + 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:[] ENUM_ENTRY name:TEST2 - init: ENUM_CONSTRUCTOR_CALL 'constructor TEST2()' - 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 '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] 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 TestEnum4(Int)' + 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]' x: CONST Int type=kotlin.Int value=2 - INSTANCE_INITIALIZER_CALL classDescriptor='TEST2' - 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'z: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TEST2: TEST2' type=TestEnum4.TEST2 origin=null - ANONYMOUS_INITIALIZER TEST2 + 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 + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 'z: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@TEST2: TEST2' type=TestEnum4.TEST2 origin=null - value: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@TEST2: TEST2' 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.TestEnum4.TEST2 flags:[] BLOCK_BODY - CALL 'println(Any?): Unit' type=kotlin.Unit origin=null - message: GET_ENUM 'TEST2' type=TestEnum4 - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any 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 + 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:[] overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum4) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum4) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestEnum4 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, 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 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:[] overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum 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 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] 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 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] 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) returnType:kotlin.String flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum 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) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestEnum4 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestEnum5 modality:FINAL visibility:public flags: superTypes:[kotlin.Enum] - $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 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:[] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: TestEnum5 - INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum5' - PROPERTY name:x visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:final + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int = ...' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestEnum5: TestEnum5' type=TestEnum5 origin=null + 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 ENUM_ENTRY name:TEST1 - init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum5(Int = ...)' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum5 flags:[primary]' ENUM_ENTRY name:TEST2 - init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum5(Int = ...)' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum5 flags:[primary]' ENUM_ENTRY name:TEST3 - init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum5(Int = ...)' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestEnum5 flags:[primary]' x: CONST Int type=kotlin.Int value=0 - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestEnum5>) returnType:kotlin.Any flags:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestEnum5 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/classes/enumClassModality.txt b/compiler/testData/ir/irText/classes/enumClassModality.txt index 774c6db0348..26531fb9d16 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] - $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 flags:[] superTypes:[kotlin.Enum<.TestFinalEnum1>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestFinalEnum1 flags:[] + CONSTRUCTOR visibility:private <> () returnType:.TestFinalEnum1 flags:[primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: TestFinalEnum1 - INSTANCE_INITIALIZER_CALL classDescriptor='TestFinalEnum1' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .TestFinalEnum1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum1 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestFinalEnum1>]' ENUM_ENTRY name:X1 - init: ENUM_CONSTRUCTOR_CALL 'constructor TestFinalEnum1()' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestFinalEnum1 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestFinalEnum2 modality:FINAL visibility:public flags: superTypes:[kotlin.Enum] - $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 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:[] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: TestFinalEnum2 - INSTANCE_INITIALIZER_CALL classDescriptor='TestFinalEnum2' - PROPERTY name:x visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:final + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestFinalEnum2: TestFinalEnum2' type=TestFinalEnum2 origin=null + 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 ENUM_ENTRY name:X1 - init: ENUM_CONSTRUCTOR_CALL 'constructor TestFinalEnum2(Int)' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestFinalEnum2 flags:[primary]' x: CONST Int type=kotlin.Int value=1 - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.Any flags:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestFinalEnum2 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestFinalEnum3 modality:FINAL visibility:public flags: superTypes:[kotlin.Enum] - $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 flags:[] superTypes:[kotlin.Enum<.TestFinalEnum3>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestFinalEnum3 flags:[] + CONSTRUCTOR visibility:private <> () returnType:.TestFinalEnum3 flags:[primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: TestFinalEnum3 - INSTANCE_INITIALIZER_CALL classDescriptor='TestFinalEnum3' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .TestFinalEnum3 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum3 modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.TestFinalEnum3>]' ENUM_ENTRY name:X1 - init: ENUM_CONSTRUCTOR_CALL 'constructor TestFinalEnum3()' - FUN name:doStuff visibility:public modality:FINAL <> ($this:TestFinalEnum3) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:TestFinalEnum3 flags: + 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:[] BLOCK_BODY - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.Any flags:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestFinalEnum3 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestOpenEnum1 modality:OPEN visibility:public flags: superTypes:[kotlin.Enum] - $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 flags:[] superTypes:[kotlin.Enum<.TestOpenEnum1>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestOpenEnum1 flags:[] + CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum1 flags:[primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: TestOpenEnum1 - INSTANCE_INITIALIZER_CALL classDescriptor='TestOpenEnum1' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .TestOpenEnum1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestOpenEnum1 modality:OPEN visibility:public flags:[] superTypes:[kotlin.Enum<.TestOpenEnum1>]' ENUM_ENTRY name:X1 - init: ENUM_CONSTRUCTOR_CALL 'constructor X1()' - 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 '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] 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 TestOpenEnum1()' - INSTANCE_INITIALIZER_CALL classDescriptor='X1' - 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 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:[] overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) 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 flags:[] + $this: VALUE_PARAMETER name: type:.TestOpenEnum1.X1 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:OPEN <> ($this:.TestOpenEnum1.X1) returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="X1" - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Any flags:[] overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestOpenEnum1) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestOpenEnum1) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestOpenEnum1 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, 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 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:[] overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestOpenEnum1 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestOpenEnum2 modality:OPEN visibility:public flags: superTypes:[kotlin.Enum] - $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 flags:[] superTypes:[kotlin.Enum<.TestOpenEnum2>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestOpenEnum2 flags:[] + CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum2 flags:[primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: TestOpenEnum2 - INSTANCE_INITIALIZER_CALL classDescriptor='TestOpenEnum2' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .TestOpenEnum2 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestOpenEnum2 modality:OPEN visibility:public flags:[] superTypes:[kotlin.Enum<.TestOpenEnum2>]' ENUM_ENTRY name:X1 - init: ENUM_CONSTRUCTOR_CALL 'constructor X1()' - 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 '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] 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 TestOpenEnum2()' - INSTANCE_INITIALIZER_CALL classDescriptor='X1' - 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.TestOpenEnum2.X1 flags:[] BLOCK_BODY - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Any flags:[] overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestOpenEnum2) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestOpenEnum2) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestOpenEnum2 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, 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 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:[] overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum 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 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:[] BLOCK_BODY - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Any flags:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestOpenEnum2 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:TestAbstractEnum1 modality:ABSTRACT visibility:public flags: superTypes:[kotlin.Enum] - $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 flags:[] superTypes:[kotlin.Enum<.TestAbstractEnum1>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAbstractEnum1 flags:[] + CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum1 flags:[primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: TestAbstractEnum1 - INSTANCE_INITIALIZER_CALL classDescriptor='TestAbstractEnum1' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .TestAbstractEnum1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestAbstractEnum1 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.TestAbstractEnum1>]' ENUM_ENTRY name:X1 - init: ENUM_CONSTRUCTOR_CALL 'constructor X1()' - 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 '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] 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 TestAbstractEnum1()' - INSTANCE_INITIALIZER_CALL classDescriptor='X1' - 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.TestAbstractEnum1.X1 flags:[] BLOCK_BODY - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Any flags:[] overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestAbstractEnum1) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestAbstractEnum1) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestAbstractEnum1 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, 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 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:[] overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum 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) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestAbstractEnum1 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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; 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 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] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: TestAbstractEnum2 - INSTANCE_INITIALIZER_CALL classDescriptor='TestAbstractEnum2' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .TestAbstractEnum2 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestAbstractEnum2 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.TestAbstractEnum2>; .IFoo]' ENUM_ENTRY name:X1 - init: ENUM_CONSTRUCTOR_CALL 'constructor X1()' - 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 '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] 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 TestAbstractEnum2()' - INSTANCE_INITIALIZER_CALL classDescriptor='X1' - 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.TestAbstractEnum2.X1 flags:[] BLOCK_BODY - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Any flags:[] overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestAbstractEnum2) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestAbstractEnum2) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestAbstractEnum2 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, 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 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:[] overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 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 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:[] 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) returnType:java.lang.Class? 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:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:java.lang.Class<.TestAbstractEnum2?>? flags:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum 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) 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: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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.txt b/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.txt index 132dca3750d..f4534603dc6 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] - $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 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:[] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: Test0 - INSTANCE_INITIALIZER_CALL classDescriptor='Test0' - PROPERTY name:x visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:final + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test0: Test0' type=Test0 origin=null + 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 ENUM_ENTRY name:ZERO - init: ENUM_CONSTRUCTOR_CALL 'constructor Test0()' - CONSTRUCTOR visibility:private <> () returnType:Test0 flags: + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.Test0 flags:[]' + CONSTRUCTOR visibility:private <> () returnType:.Test0 flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Test0(Int)' + DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.Test0 flags:[primary]' x: CONST Int type=kotlin.Int value=0 - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test0>) returnType:kotlin.Any flags:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:Test0 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:Test1 modality:FINAL visibility:public flags: superTypes:[kotlin.Enum] - $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 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:[] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: Test1 - INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - PROPERTY name:x visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:final + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null + 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 ENUM_ENTRY name:ZERO - init: ENUM_CONSTRUCTOR_CALL 'constructor Test1()' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.Test1 flags:[]' ENUM_ENTRY name:ONE - init: ENUM_CONSTRUCTOR_CALL 'constructor Test1(Int)' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.Test1 flags:[primary]' x: CONST Int type=kotlin.Int value=1 - CONSTRUCTOR visibility:private <> () returnType:Test1 flags: + CONSTRUCTOR visibility:private <> () returnType:.Test1 flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Test1(Int)' + DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.Test1 flags:[primary]' x: CONST Int type=kotlin.Int value=0 - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test1>) returnType:kotlin.Any flags:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:Test1 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:Test2 modality:ABSTRACT visibility:public flags: superTypes:[kotlin.Enum] - $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 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:[] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: Test2 - INSTANCE_INITIALIZER_CALL classDescriptor='Test2' - PROPERTY name:x visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:final + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test2: Test2' type=Test2 origin=null + 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 ENUM_ENTRY name:ZERO - init: ENUM_CONSTRUCTOR_CALL 'constructor ZERO()' - 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 '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] 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 Test2()' - INSTANCE_INITIALIZER_CALL classDescriptor='ZERO' - 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2.ZERO flags:[] BLOCK_BODY - CALL 'println(Any?): Unit' 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: CONST String type=kotlin.String value="ZERO" - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Any flags:[] overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Test2) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Test2) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:Test2 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, 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 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:[] overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum 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 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] 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 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] 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) returnType:kotlin.String flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: + 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:[] ENUM_ENTRY name:ONE - init: ENUM_CONSTRUCTOR_CALL 'constructor ONE()' - 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 '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] 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 Test2(Int)' + 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]' x: CONST Int type=kotlin.Int value=1 - INSTANCE_INITIALIZER_CALL classDescriptor='ONE' - 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 flags:[] superTypes:[.Test2]' + FUN name:foo visibility:public modality:OPEN <> ($this:.Test2.ONE) returnType:kotlin.Unit flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test2.ONE flags:[] BLOCK_BODY - CALL 'println(Any?): Unit' 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: CONST String type=kotlin.String value="ONE" - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.Test2>) returnType:kotlin.Any flags:[] overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Test2) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Test2) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:Test2 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, 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 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:[] overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum 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 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] 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 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] 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) returnType:kotlin.String flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - CONSTRUCTOR visibility:private <> () returnType:Test2 flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Test2(Int)' + DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.Test2 flags:[primary]' 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) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:Test2 flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/classes/initBlock.txt b/compiler/testData/ir/irText/classes/initBlock.txt index ddb4b1f5ee6..d5af1b749aa 100644 --- a/compiler/testData/ir/irText/classes/initBlock.txt +++ b/compiler/testData/ir/irText/classes/initBlock.txt @@ -1,154 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Test1 flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - ANONYMOUS_INITIALIZER Test1 + 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]' + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'println(): Unit' 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 '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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test2' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - ANONYMOUS_INITIALIZER Test2 + 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 + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'println(): Unit' 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 '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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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: - ANONYMOUS_INITIALIZER Test3 + 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:[] + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'println(): Unit' type=kotlin.Unit origin=null - CONSTRUCTOR visibility:public <> () returnType:Test3 flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test3' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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: - ANONYMOUS_INITIALIZER Test4 + 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:[] + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'println(Any?): Unit' 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: CONST String type=kotlin.String value="1" - CONSTRUCTOR visibility:public <> () returnType:Test4 flags: + CONSTRUCTOR visibility:public <> () returnType:.Test4 flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test4' - ANONYMOUS_INITIALIZER Test4 + 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]' + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'println(Any?): Unit' 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: 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test5' - ANONYMOUS_INITIALIZER Test5 + 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]' + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'println(Any?): Unit' 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: 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestInner' - ANONYMOUS_INITIALIZER TestInner + 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]' + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'println(Any?): Unit' 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: 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/initVal.txt b/compiler/testData/ir/irText/classes/initVal.txt index fd2a2b8d23f..0946dbe5cb4 100644 --- a/compiler/testData/ir/irText/classes/initVal.txt +++ b/compiler/testData/ir/irText/classes/initVal.txt @@ -1,96 +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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestInitValFromParameter' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestInitValFromParameter: TestInitValFromParameter' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestInitValInClass' - 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 '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] 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 flags:[] + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] + $this: VALUE_PARAMETER name: type:.TestInitValInClass flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestInitValInClass: TestInitValInClass' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestInitValInInitBlock' - 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestInitValInInitBlock: TestInitValInInitBlock' type=TestInitValInInitBlock origin=null - ANONYMOUS_INITIALIZER TestInitValInInitBlock + 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 + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 'x: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@TestInitValInInitBlock: TestInitValInInitBlock' type=TestInitValInInitBlock origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/initVar.txt b/compiler/testData/ir/irText/classes/initVar.txt index 67869fc7d65..fbd8b23cb90 100644 --- a/compiler/testData/ir/irText/classes/initVar.txt +++ b/compiler/testData/ir/irText/classes/initVar.txt @@ -1,238 +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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestInitVarFromParameter' - PROPERTY name:x visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags: + 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:[] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestInitVarFromParameter: TestInitVarFromParameter' 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='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:[] BLOCK_BODY - SET_FIELD 'x: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@TestInitVarFromParameter: TestInitVarFromParameter' type=TestInitVarFromParameter 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestInitVarInClass' - PROPERTY name:x visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags: + 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:[] 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 flags:[] + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] + $this: VALUE_PARAMETER name: type:.TestInitVarInClass flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestInitVarInClass: TestInitVarInClass' 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='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:[] BLOCK_BODY - SET_FIELD 'x: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@TestInitVarInClass: TestInitVarInClass' type=TestInitVarInClass 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestInitVarInInitBlock' - 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestInitVarInInitBlock: TestInitVarInInitBlock' 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='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:[] BLOCK_BODY - SET_FIELD 'x: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@TestInitVarInInitBlock: TestInitVarInInitBlock' type=TestInitVarInInitBlock origin=null - value: GET_VAR 'value-parameter : Int' type=kotlin.Int origin=null - ANONYMOUS_INITIALIZER TestInitVarInInitBlock + 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 + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_VAR 'this@TestInitVarInInitBlock: TestInitVarInInitBlock' type=TestInitVarInInitBlock origin=null + 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 : 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestInitVarWithCustomSetter' - PROPERTY name:x visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags: + 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:[] 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 flags:[] + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[var] + $this: VALUE_PARAMETER name: type:.TestInitVarWithCustomSetter flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestInitVarWithCustomSetter: TestInitVarWithCustomSetter' 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='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:[] BLOCK_BODY - SET_FIELD 'x: Int' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'this@TestInitVarWithCustomSetter: TestInitVarWithCustomSetter' type=TestInitVarWithCustomSetter origin=null - value: GET_VAR 'value-parameter value: 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestInitVarWithCustomSetterWithExplicitCtor: TestInitVarWithCustomSetterWithExplicitCtor' 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='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:[] BLOCK_BODY - SET_FIELD 'x: Int' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'this@TestInitVarWithCustomSetterWithExplicitCtor: TestInitVarWithCustomSetterWithExplicitCtor' type=TestInitVarWithCustomSetterWithExplicitCtor origin=null - value: GET_VAR 'value-parameter value: Int' type=kotlin.Int origin=null - ANONYMOUS_INITIALIZER TestInitVarWithCustomSetterWithExplicitCtor + 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 + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_VAR 'this@TestInitVarWithCustomSetterWithExplicitCtor: TestInitVarWithCustomSetterWithExplicitCtor' type=TestInitVarWithCustomSetterWithExplicitCtor origin=null + 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 value: CONST Int type=kotlin.Int value=0 - CONSTRUCTOR visibility:public <> () returnType:TestInitVarWithCustomSetterWithExplicitCtor flags: + CONSTRUCTOR visibility:public <> () returnType:.TestInitVarWithCustomSetterWithExplicitCtor flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestInitVarWithCustomSetterWithExplicitCtor' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestInitVarWithCustomSetterInCtor: TestInitVarWithCustomSetterInCtor' 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='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:[] BLOCK_BODY - SET_FIELD 'x: Int' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'this@TestInitVarWithCustomSetterInCtor: TestInitVarWithCustomSetterInCtor' type=TestInitVarWithCustomSetterInCtor origin=null - value: GET_VAR 'value-parameter value: Int' type=kotlin.Int origin=null - CONSTRUCTOR visibility:public <> () returnType:TestInitVarWithCustomSetterInCtor flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestInitVarWithCustomSetterInCtor' - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_VAR 'this@TestInitVarWithCustomSetterInCtor: TestInitVarWithCustomSetterInCtor' type=TestInitVarWithCustomSetterInCtor origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/inlineClass.txt b/compiler/testData/ir/irText/classes/inlineClass.txt index 3e587b454af..30d60bed682 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test: Test' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN GENERATED_INLINE_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test(" CONST String type=kotlin.String value="x=" - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@Test: Test' type=Test origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test flags:[] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'hashCode(): Int' type=kotlin.Int origin=null - $this: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@Test: Test' type=Test origin=null - RETURN type=kotlin.Nothing from='hashCode(): Int' - GET_VAR 'tmp0_result: Int' 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] 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 other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test flags: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 other: Any?' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.Test flags:[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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@Test: Test' type=Test origin=null - arg1: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test' type=Test origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 64ad0f1eff7..41841aacc01 100644 --- a/compiler/testData/ir/irText/classes/innerClass.txt +++ b/compiler/testData/ir/irText/classes/innerClass.txt @@ -1,62 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Outer flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Outer' - 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 '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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestInnerClass' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor TestInnerClass()' - $this: GET_VAR 'this@Outer: Outer' type=Outer origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='DerivedInnerClass' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/innerClassWithDelegatingConstructor.txt b/compiler/testData/ir/irText/classes/innerClassWithDelegatingConstructor.txt index f2ef1862d24..2d9c2aace8f 100644 --- a/compiler/testData/ir/irText/classes/innerClassWithDelegatingConstructor.txt +++ b/compiler/testData/ir/irText/classes/innerClassWithDelegatingConstructor.txt @@ -1,59 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Outer flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Outer' - 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 '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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Inner' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Inner: Inner' 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='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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Inner(Int)' - $this: GET_VAR 'this@Outer: Outer' type=Outer origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.txt b/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.txt index 23337ad4774..2f0dfc78997 100644 --- a/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.txt +++ b/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.txt @@ -1,223 +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 ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2) returnType:A flags:primary - VALUE_PARAMETER name:runA index:0 type:@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 flags: + 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:[] EXPRESSION_BODY - BLOCK type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 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 '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_BODY - RETURN type=kotlin.Nothing from='(String) on A: Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - FUNCTION_REFERENCE '(String) on A: Unit' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=LAMBDA + 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 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - PROPERTY name:runA visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:runA type:@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 visibility:public flags:final + 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] EXPRESSION_BODY - GET_VAR 'value-parameter runA: A.(String) -> Unit = ...' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:A) returnType:@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 flags: - correspondingProperty: PROPERTY name:runA visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:A flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): A.(String) -> Unit' - GET_FIELD 'runA: A.(String) -> Unit' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=null - receiver: GET_VAR 'this@A: A' type=A origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:A) returnType:@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 flags: - $this: VALUE_PARAMETER name: type:A flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1(): A.(String) -> Unit' - CALL '(): A.(String) -> Unit' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' type=A origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:A, runA:@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2) returnType:A flags: - $this: VALUE_PARAMETER name: type:A flags: - VALUE_PARAMETER name:runA index:0 type:@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 flags: + 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:[] EXPRESSION_BODY - CALL '(): A.(String) -> Unit' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' type=A origin=null + 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 BLOCK_BODY - RETURN type=kotlin.Nothing from='copy(A.(String) -> Unit = ...): A' - CALL 'constructor A(A.(String) -> Unit = ...)' type=A origin=null - runA: GET_VAR 'value-parameter runA: A.(String) -> Unit = ...' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:A) returnType:kotlin.String flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.A flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="A(" CONST String type=kotlin.String value="runA=" - CALL '(): A.(String) -> Unit' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' type=A origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.A flags:[] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'hashCode(): Int' type=kotlin.Int origin=null - $this: CALL '(): A.(String) -> Unit' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' type=A origin=null - RETURN type=kotlin.Nothing from='hashCode(): Int' - GET_VAR 'tmp0_result: Int' 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.A flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'this@A: A' type=A origin=null - arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:A flags: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 other: Any?' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.A flags:[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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): A.(String) -> Unit' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' type=A origin=null - arg1: CALL '(): A.(String) -> Unit' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: A' type=A origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 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:[] 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 + 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 ()' type=B.. origin=OBJECT_LITERAL + 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 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='B' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Any = ...' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Any' - GET_FIELD 'x: Any' type=kotlin.Any origin=null - receiver: GET_VAR 'this@B: B' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1(): Any' - CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'this@B: B' 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='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:[] EXPRESSION_BODY - CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'this@B: B' type=B origin=null + 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 BLOCK_BODY - RETURN type=kotlin.Nothing from='copy(Any = ...): B' - CALL 'constructor B(Any = ...)' type=B origin=null - x: GET_VAR 'value-parameter x: Any = ...' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.B flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="B(" CONST String type=kotlin.String value="x=" - CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'this@B: B' type=B origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.B flags:[] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'hashCode(): Int' type=kotlin.Int origin=null - $this: CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'this@B: B' type=B origin=null - RETURN type=kotlin.Nothing from='hashCode(): Int' - GET_VAR 'tmp0_result: Int' 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.B flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'this@B: B' type=B origin=null - arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:B flags: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 other: Any?' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.B flags:[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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'this@B: B' type=B origin=null - arg1: CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: B' type=B origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 a90e85c7f1c..e80de4579fc 100644 --- a/compiler/testData/ir/irText/classes/localClasses.txt +++ b/compiler/testData/ir/irText/classes/localClasses.txt @@ -1,28 +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 flags:[] 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.outer.LocalClass flags:[] + CONSTRUCTOR visibility:public <> () returnType:.outer.LocalClass flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='LocalClass' - 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 '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:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 'foo(): Unit' type=kotlin.Unit origin=null - $this: CALL 'constructor LocalClass()' type=outer.LocalClass origin=null - + 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 diff --git a/compiler/testData/ir/irText/classes/objectLiteralExpressions.txt b/compiler/testData/ir/irText/classes/objectLiteralExpressions.txt index e2a364170f5..8a67d5bddf4 100644 --- a/compiler/testData/ir/irText/classes/objectLiteralExpressions.txt +++ b/compiler/testData/ir/irText/classes/objectLiteralExpressions.txt @@ -1,193 +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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] 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 + 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 ()' 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 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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Any' - GET_FIELD 'test1: Any' 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='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] 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 + 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='' - FUN name:foo visibility:public modality:OPEN <> ($this:test2.) returnType:kotlin.Unit flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.test2. flags:[] BLOCK_BODY - CALL 'println(Any?): Unit' 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: 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 ()' 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 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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): IFoo' - GET_FIELD 'test2: IFoo' 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='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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Outer' - 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 '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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Inner' - FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:IFoo) returnType:kotlin.Unit flags: + 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:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(): Outer.Inner' - 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 + RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> ($this:.Outer) returnType:.Outer.Inner flags:[]' + 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Inner()' - $this: GET_VAR 'this@Outer: Outer' type=Outer origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='' - FUN name:foo visibility:public modality:OPEN <> ($this:Outer.test3.) returnType:kotlin.Unit flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Outer.test3. flags:[] BLOCK_BODY - CALL 'println(Any?): Unit' 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: 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 ()' 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4() on Outer: Outer.Inner' - 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 + RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> ($receiver:.Outer) returnType:.Outer.Inner flags:[]' + 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Inner()' - $this: GET_VAR 'this@test4: Outer' type=Outer origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='' - FUN name:foo visibility:public modality:OPEN <> ($this:test4.) returnType:kotlin.Unit flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.test4. flags:[] BLOCK_BODY - CALL 'println(Any?): Unit' 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: 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 ()' type=test4. origin=OBJECT_LITERAL - + 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 diff --git a/compiler/testData/ir/irText/classes/objectWithInitializers.txt b/compiler/testData/ir/irText/classes/objectWithInitializers.txt index d85703256b9..f2ab8892406 100644 --- a/compiler/testData/ir/irText/classes/objectWithInitializers.txt +++ b/compiler/testData/ir/irText/classes/objectWithInitializers.txt @@ -1,66 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Base' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test' - 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 '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] 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 flags:[] + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] + $this: VALUE_PARAMETER name: type:.Test flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test: Test' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'y: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test: Test' type=Test origin=null - ANONYMOUS_INITIALIZER Test + 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 + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 'y: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@Test: Test' type=Test origin=null - value: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@Test: Test' 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/outerClassAccess.txt b/compiler/testData/ir/irText/classes/outerClassAccess.txt index 69187876421..fcf9279129e 100644 --- a/compiler/testData/ir/irText/classes/outerClassAccess.txt +++ b/compiler/testData/ir/irText/classes/outerClassAccess.txt @@ -1,82 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Outer flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Outer' - FUN name:foo visibility:public modality:FINAL <> ($this:Outer) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:Outer flags: + 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:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Inner' - 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 '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:[] BLOCK_BODY - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@Outer: Outer' 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 '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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Inner2' - 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 '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:[] BLOCK_BODY - CALL 'test(): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@Inner: Inner' type=Outer.Inner origin=null - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@Outer: Outer' 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 '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:[] BLOCK_BODY - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@test3: Outer' type=Outer origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/primaryConstructor.txt b/compiler/testData/ir/irText/classes/primaryConstructor.txt index 5dac679354a..26179a446f2 100644 --- a/compiler/testData/ir/irText/classes/primaryConstructor.txt +++ b/compiler/testData/ir/irText/classes/primaryConstructor.txt @@ -1,134 +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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter y: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'y: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test2' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter y: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'y: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test2: Test2' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test2: Test2' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test3' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter y: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'y: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test3: Test3' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - ANONYMOUS_INITIALIZER Test3 + 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 + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 'x: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@Test3: Test3' type=Test3 origin=null - value: GET_VAR 'value-parameter x: 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/primaryConstructorWithSuperConstructorCall.txt b/compiler/testData/ir/irText/classes/primaryConstructorWithSuperConstructorCall.txt index d1b1f521c96..5db51c6d6ac 100644 --- a/compiler/testData/ir/irText/classes/primaryConstructorWithSuperConstructorCall.txt +++ b/compiler/testData/ir/irText/classes/primaryConstructorWithSuperConstructorCall.txt @@ -1,108 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Base' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestImplicitPrimaryConstructor' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestExplicitPrimaryConstructor' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestWithDelegatingConstructor' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestWithDelegatingConstructor: TestWithDelegatingConstructor' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter y: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'y: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestWithDelegatingConstructor: TestWithDelegatingConstructor' 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='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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor TestWithDelegatingConstructor(Int, Int)' - x: GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/qualifiedSuperCalls.txt b/compiler/testData/ir/irText/classes/qualifiedSuperCalls.txt index 502716fc468..16276647231 100644 --- a/compiler/testData/ir/irText/classes/qualifiedSuperCalls.txt +++ b/compiler/testData/ir/irText/classes/qualifiedSuperCalls.txt @@ -1,98 +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 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:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN <> ($this:.ILeft) returnType:kotlin.Int flags:[]' 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN <> ($this:.IRight) returnType:kotlin.Int flags:[]' 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='CBoth' - FUN name:foo visibility:public modality:OPEN <> ($this:CBoth) returnType:kotlin.Unit flags: + 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:[] 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 flags:[] + FUN name:foo visibility:public modality:OPEN <> ($this:.IRight) returnType:kotlin.Unit flags:[] + $this: VALUE_PARAMETER name: type:.CBoth flags:[] BLOCK_BODY - CALL 'foo(): Unit' superQualifier=ILeft type=kotlin.Unit origin=null - $this: GET_VAR 'this@CBoth: CBoth' type=ILeft origin=null - CALL 'foo(): Unit' superQualifier=IRight type=kotlin.Unit origin=null - $this: GET_VAR 'this@CBoth: CBoth' 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 '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] 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 flags:[] + FUN name: visibility:public modality:OPEN <> ($this:.IRight) returnType:kotlin.Int flags:[] + $this: VALUE_PARAMETER name: type:.CBoth flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL 'plus(Int): Int' type=kotlin.Int origin=PLUS - $this: CALL '(): Int' superQualifier=ILeft type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@CBoth: CBoth' type=ILeft origin=null - other: CALL '(): Int' superQualifier=IRight type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@CBoth: CBoth' 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='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:[] 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 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:[] 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 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:[] 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 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:[] diff --git a/compiler/testData/ir/irText/classes/sealedClasses.txt b/compiler/testData/ir/irText/classes/sealedClasses.txt index 1286c49be96..cf9be28ff8e 100644 --- a/compiler/testData/ir/irText/classes/sealedClasses.txt +++ b/compiler/testData/ir/irText/classes/sealedClasses.txt @@ -1,114 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Expr flags:[] + CONSTRUCTOR visibility:private <> () returnType:.Expr flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Expr' - 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 '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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Expr()' - INSTANCE_INITIALIZER_CALL classDescriptor='Const' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter number: Double' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Double' - GET_FIELD 'number: Double' type=kotlin.Double origin=null - receiver: GET_VAR 'this@Const: Const' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Expr()' - INSTANCE_INITIALIZER_CALL classDescriptor='Sum' - PROPERTY name:e1 visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:e1 type:Expr visibility:public flags:final + 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] EXPRESSION_BODY - GET_VAR 'value-parameter e1: Expr' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Expr' - GET_FIELD 'e1: Expr' type=Expr origin=null - receiver: GET_VAR 'this@Sum: Sum' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter e2: Expr' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Expr' - GET_FIELD 'e2: Expr' type=Expr origin=null - receiver: GET_VAR 'this@Sum: Sum' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Expr()' - INSTANCE_INITIALIZER_CALL classDescriptor='NotANumber' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/secondaryConstructorWithInitializersFromClassBody.txt b/compiler/testData/ir/irText/classes/secondaryConstructorWithInitializersFromClassBody.txt index c8136db9bd6..e66e8675df1 100644 --- a/compiler/testData/ir/irText/classes/secondaryConstructorWithInitializersFromClassBody.txt +++ b/compiler/testData/ir/irText/classes/secondaryConstructorWithInitializersFromClassBody.txt @@ -1,93 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Base' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] 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 flags:[] + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] + $this: VALUE_PARAMETER name: type:.TestProperty flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestProperty: TestProperty' type=TestProperty origin=null - CONSTRUCTOR visibility:public <> () returnType:TestProperty flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestProperty' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestInitBlock: TestInitBlock' type=TestInitBlock origin=null - ANONYMOUS_INITIALIZER TestInitBlock + 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 + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 'x: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@TestInitBlock: TestInitBlock' type=TestInitBlock origin=null + 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 value: CONST Int type=kotlin.Int value=0 - CONSTRUCTOR visibility:public <> () returnType:TestInitBlock flags: + CONSTRUCTOR visibility:public <> () returnType:.TestInitBlock flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestInitBlock' - CONSTRUCTOR visibility:public <> (z:kotlin.Any) returnType:TestInitBlock flags: - VALUE_PARAMETER name:z index:0 type:kotlin.Any flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestInitBlock' - CONSTRUCTOR visibility:public <> (y:kotlin.Int) returnType:TestInitBlock flags: - VALUE_PARAMETER name:y index:0 type:kotlin.Int flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor TestInitBlock()' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/secondaryConstructors.txt b/compiler/testData/ir/irText/classes/secondaryConstructors.txt index 3f194dd8bef..ea652684874 100644 --- a/compiler/testData/ir/irText/classes/secondaryConstructors.txt +++ b/compiler/testData/ir/irText/classes/secondaryConstructors.txt @@ -1,26 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] + CONSTRUCTOR visibility:public <> () returnType:.C flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor C(Int)' + DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.C flags:[]' 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/classes/superCalls.txt b/compiler/testData/ir/irText/classes/superCalls.txt index 3271b71064a..8eed2ae14b2 100644 --- a/compiler/testData/ir/irText/classes/superCalls.txt +++ b/compiler/testData/ir/irText/classes/superCalls.txt @@ -1,71 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Base flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Base' - FUN name:foo visibility:public modality:OPEN <> ($this:Base) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:Base flags: + 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:[] 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.String visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN flags:[val] + $this: VALUE_PARAMETER name: type:.Base flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'bar: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@Base: Base' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base()' - INSTANCE_INITIALIZER_CALL classDescriptor='Derived' - FUN name:foo visibility:public modality:OPEN <> ($this:Derived) returnType:kotlin.Unit flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Derived flags:[] BLOCK_BODY - CALL 'foo(): Unit' superQualifier=Base type=kotlin.Unit origin=null - $this: GET_VAR 'this@Derived: Derived' 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 '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] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Derived flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - CALL '(): String' superQualifier=Base type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@Derived: Derived' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/annotations/annotationsInAnnotationArguments.txt b/compiler/testData/ir/irText/declarations/annotations/annotationsInAnnotationArguments.txt index e84f081ec4c..d055e6f005f 100644 --- a/compiler/testData/ir/irText/declarations/annotations/annotationsInAnnotationArguments.txt +++ b/compiler/testData/ir/irText/declarations/annotations/annotationsInAnnotationArguments.txt @@ -1,107 +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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@A1: A1' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] EXPRESSION_BODY - GET_VAR 'value-parameter a: A1' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): A1' - GET_FIELD 'a: A1' type=A1 origin=null - receiver: GET_VAR 'this@A2: A2' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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) returnType:AA flags:primary - VALUE_PARAMETER name:xs index:0 type:kotlin.Array flags: - 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 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] EXPRESSION_BODY - GET_VAR 'value-parameter xs: Array' type=kotlin.Array origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:AA) returnType:kotlin.Array flags: - correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:AA flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Array' - GET_FIELD 'xs: Array' type=kotlin.Array origin=null - receiver: GET_VAR 'this@AA: AA' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] annotations: - CALL 'constructor A2(A1)' type=A2 origin=null - a: CALL 'constructor A1(Int)' type=A1 origin=null + 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 x: CONST Int type=kotlin.Int value=42 - CALL 'constructor AA(Array)' type=AA origin=null - xs: VARARG type=kotlin.Array varargElementType=A1 - CALL 'constructor A1(Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array<.A1>) returnType:.AA flags:[primary]' 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 x: CONST Int type=kotlin.Int value=1 - CALL 'constructor A1(Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A1 flags:[primary]' type=.A1 origin=null x: CONST Int type=kotlin.Int value=2 - CALL 'constructor A2(A1)' type=A2 origin=null - a: CALL 'constructor A1(Int)' type=A1 origin=null + 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 x: CONST Int type=kotlin.Int value=42 - CALL 'constructor AA(Array)' type=AA origin=null - xs: VARARG type=kotlin.Array varargElementType=A1 - CALL 'constructor A1(Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array<.A1>) returnType:.AA flags:[primary]' 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 x: CONST Int type=kotlin.Int value=1 - CALL 'constructor A1(Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A1 flags:[primary]' 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 1fe96b1754a..29f84630779 100644 --- a/compiler/testData/ir/irText/declarations/annotations/annotationsWithDefaultParameterValues.txt +++ b/compiler/testData/ir/irText/declarations/annotations/annotationsWithDefaultParameterValues.txt @@ -1,71 +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 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:[] 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 flags:[] 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:public flags:[final] EXPRESSION_BODY - GET_VAR 'value-parameter x: String = ...' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'x: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@A: A' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter y: Int = ...' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'y: 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] annotations: - CALL 'constructor A(String = ..., Int = ...)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String, y:kotlin.Int) returnType:.A flags:[primary]' 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 flags:[] annotations: - CALL 'constructor A(String = ..., Int = ...)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String, y:kotlin.Int) returnType:.A flags:[primary]' 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 flags:[] annotations: - CALL 'constructor A(String = ..., Int = ...)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String, y:kotlin.Int) returnType:.A flags:[primary]' 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 flags:[] annotations: - CALL 'constructor A(String = ..., Int = ...)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String, y:kotlin.Int) returnType:.A flags:[primary]' 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 flags:[] annotations: - CALL 'constructor A(String = ..., Int = ...)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String, y:kotlin.Int) returnType:.A flags:[primary]' 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 175fb79581f..92455817567 100644 --- a/compiler/testData/ir/irText/declarations/annotations/annotationsWithVarargParameters.txt +++ b/compiler/testData/ir/irText/declarations/annotations/annotationsWithVarargParameters.txt @@ -1,48 +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 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] EXPRESSION_BODY - GET_VAR 'value-parameter vararg xs: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Array' - GET_FIELD 'xs: Array' type=kotlin.Array 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] annotations: - CALL 'constructor A(vararg String)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A flags:[primary]' 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 flags:[] annotations: - CALL 'constructor A(vararg String)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A flags:[primary]' 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 flags:[] annotations: - CALL 'constructor A(vararg String)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A flags:[primary]' 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 8806a802933..83331af9d3b 100644 --- a/compiler/testData/ir/irText/declarations/annotations/arrayInAnnotationArguments.txt +++ b/compiler/testData/ir/irText/declarations/annotations/arrayInAnnotationArguments.txt @@ -1,104 +1,103 @@ 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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: IntArray' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): IntArray' - GET_FIELD 'x: IntArray' type=kotlin.IntArray origin=null - receiver: GET_VAR 'this@TestAnnWithIntArray: TestAnnWithIntArray' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Array' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Array' - GET_FIELD 'x: Array' type=kotlin.Array origin=null - receiver: GET_VAR 'this@TestAnnWithStringArray: TestAnnWithStringArray' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] annotations: - CALL 'constructor TestAnnWithIntArray(IntArray)' type=TestAnnWithIntArray origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.IntArray) returnType:.TestAnnWithIntArray flags:[primary]' 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 TestAnnWithStringArray(Array)' type=TestAnnWithStringArray origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Array) returnType:.TestAnnWithStringArray flags:[primary]' 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 TestAnnWithIntArray(IntArray)' type=TestAnnWithIntArray origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.IntArray) returnType:.TestAnnWithIntArray flags:[primary]' 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 TestAnnWithStringArray(Array)' type=TestAnnWithStringArray origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Array) returnType:.TestAnnWithStringArray flags:[primary]' 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 flags:[] annotations: - CALL 'constructor TestAnnWithIntArray(IntArray)' type=TestAnnWithIntArray origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.IntArray) returnType:.TestAnnWithIntArray flags:[primary]' 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 TestAnnWithStringArray(Array)' type=TestAnnWithStringArray origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Array) returnType:.TestAnnWithStringArray flags:[primary]' 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 TestAnnWithIntArray(IntArray)' type=TestAnnWithIntArray origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.IntArray) returnType:.TestAnnWithIntArray flags:[primary]' 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 TestAnnWithStringArray(Array)' type=TestAnnWithStringArray origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Array) returnType:.TestAnnWithStringArray flags:[primary]' 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" BLOCK_BODY - diff --git a/compiler/testData/ir/irText/declarations/annotations/classLiteralInAnnotation.txt b/compiler/testData/ir/irText/declarations/annotations/classLiteralInAnnotation.txt index 4ab2d010ec9..e80afe5f77a 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 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] EXPRESSION_BODY - GET_VAR 'value-parameter klass: KClass<*>' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KClass<*>' - GET_FIELD 'klass: KClass<*>' type=kotlin.reflect.KClass<*> 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] annotations: - CALL 'constructor A(KClass<*>)' type=A origin=null - klass: CLASS_REFERENCE 'C' type=kotlin.reflect.KClass + 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> BLOCK_BODY - FUN name:test2 visibility:public modality:FINAL () returnType:kotlin.Any flags:inline + FUN name:test2 visibility:public modality:FINAL () returnType:kotlin.Any flags:[inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(): Any' - BLOCK type=test2. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags: superTypes:[kotlin.Any] + 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] annotations: - CALL 'constructor A(KClass<*>)' type=A origin=null - klass: CLASS_REFERENCE 'Any' type=kotlin.reflect.KClass - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test2. flags: - CONSTRUCTOR visibility:public <> () returnType:test2. flags:primary + 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 ()' type=test2. 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 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] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:T flags: + $receiver: VALUE_PARAMETER name: type:..T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on T: Any' - BLOCK type=. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags: superTypes:[kotlin.Any] + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Any flags:[inline]' + BLOCK type=.. origin=OBJECT_LITERAL + CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any] annotations: - CALL 'constructor A(KClass<*>)' type=A origin=null - klass: CLASS_REFERENCE 'Any' type=kotlin.reflect.KClass - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:. flags: - CONSTRUCTOR visibility:public <> () returnType:. flags:primary + 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 ()' 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 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] 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 flags:[] + VALUE_PARAMETER name:v index:0 type:kotlin.Any flags:[] 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] - BLOCK type=. origin=OBJECT_LITERAL - CLASS CLASS name: modality:FINAL visibility:local flags: superTypes:[kotlin.Any] + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + BLOCK type=.. origin=OBJECT_LITERAL + CLASS CLASS name: modality:FINAL visibility:local flags:[] superTypes:[kotlin.Any] annotations: - CALL 'constructor A(KClass<*>)' type=A origin=null - klass: CLASS_REFERENCE 'Any' type=kotlin.reflect.KClass - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:. flags: - CONSTRUCTOR visibility:public <> () returnType:. flags:primary + 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 ()' type=. origin=OBJECT_LITERAL + 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 diff --git a/compiler/testData/ir/irText/declarations/annotations/classesWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/classesWithAnnotations.txt index b8d6284c669..7e9671f24ce 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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'x: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@TestAnn: TestAnn' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + CLASS CLASS name:TestClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[] + CONSTRUCTOR visibility:public <> () returnType:.TestClass flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestClass' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + CLASS INTERFACE name:TestInterface modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + CLASS OBJECT name:TestObject modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[] + CONSTRUCTOR visibility:private <> () returnType:.TestObject flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestObject' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Host' - CLASS OBJECT name:TestCompanion modality:FINAL visibility:public flags:companion superTypes:[kotlin.Any] + 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] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[] + CONSTRUCTOR visibility:private <> () returnType:.Host.TestCompanion flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='companion object of HostTestCompanion' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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] + 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>] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[] + CONSTRUCTOR visibility:private <> () returnType:.TestEnum flags:[primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: TestEnum - INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestEnum flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] 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 flags:[] superTypes:[kotlin.Annotation] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/annotations/constExpressionsInAnnotationArguments.txt b/compiler/testData/ir/irText/declarations/annotations/constExpressionsInAnnotationArguments.txt index 05bbc7234f9..001a71975e3 100644 --- a/compiler/testData/ir/irText/declarations/annotations/constExpressionsInAnnotationArguments.txt +++ b/compiler/testData/ir/irText/declarations/annotations/constExpressionsInAnnotationArguments.txt @@ -1,49 +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 flags:[const,val] + FIELD PROPERTY_BACKING_FIELD name:ONE type:kotlin.Int visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:ONE visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'ONE: Int' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] annotations: - CALL 'constructor A(Int)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A flags:[primary]' 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 flags:[] annotations: - CALL 'constructor A(Int)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.A flags:[primary]' 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 54d097bfc09..21e69e0d6f6 100644 --- a/compiler/testData/ir/irText/declarations/annotations/constructorsWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/constructorsWithAnnotations.txt @@ -1,59 +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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestAnn: TestAnn' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] annotations: - CALL 'constructor TestAnn(Int)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null x: CONST Int type=kotlin.Int value=1 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestClass' - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:TestClass flags: + 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:[] annotations: - CALL 'constructor TestAnn(Int)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestAnn flags:[primary]' 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 flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor TestClass()' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.txt index 0767e65113f..5837cd2d029 100644 --- a/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.txt @@ -1,40 +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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] annotations: - CALL 'constructor Ann()' type=Ann origin=null + CALL 'CONSTRUCTOR visibility:public <> () returnType:.Ann flags:[primary]' type=.Ann origin=null EXPRESSION_BODY - CALL 'lazy(() -> T): Lazy' type=kotlin.Lazy origin=null + CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:lazy visibility:public modality:FINAL (initializer:kotlin.Function0) returnType:kotlin.Lazy flags:[]' 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE '(): Int' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL 'getValue(Any?, KProperty<*>) on Lazy: T' type=kotlin.Int origin=null + 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 : kotlin.Int - $receiver: GET_FIELD '`test1$delegate`: Lazy' type=kotlin.Lazy origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private flags:[final,static]' type=kotlin.Lazy origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'test1: Int' field=null getter='(): Int' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - + 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 diff --git a/compiler/testData/ir/irText/declarations/annotations/delegatedPropertyAccessorsWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/delegatedPropertyAccessorsWithAnnotations.txt index 8dc526d2cbb..d28ac7e1450 100644 --- a/compiler/testData/ir/irText/declarations/annotations/delegatedPropertyAccessorsWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/delegatedPropertyAccessorsWithAnnotations.txt @@ -1,134 +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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'x: String' type=kotlin.String 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Cell' - PROPERTY name:value visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public flags: + 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:[] EXPRESSION_BODY - GET_VAR 'value-parameter value: Int' 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_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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'value: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Cell: Cell' 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='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:[] BLOCK_BODY - SET_FIELD 'value: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@Cell: Cell' type=Cell origin=null - value: GET_VAR 'value-parameter : Int' 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='getValue(Any?, Any?): Int' - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@Cell: Cell' 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='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:[] BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_VAR 'this@Cell: Cell' type=Cell origin=null - : GET_VAR 'value-parameter newValue: 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: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] EXPRESSION_BODY - CALL 'constructor Cell(Int)' type=Cell origin=null + CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:.Cell flags:[primary]' 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 flags:[] annotations: - CALL 'constructor A(String)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' 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 flags:[delegated,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL 'getValue(Any?, Any?): Int' type=kotlin.Int origin=null - $this: GET_FIELD '`test1$delegate`: Cell' type=Cell origin=null + 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 thisRef: CONST Null type=kotlin.Nothing? value=null - kProp: PROPERTY_REFERENCE 'test1: Int' field=null getter='(): Int' 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 '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] EXPRESSION_BODY - CALL 'constructor Cell(Int)' type=Cell origin=null + CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:.Cell flags:[primary]' 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 flags:[] annotations: - CALL 'constructor A(String)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' 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 flags:[delegated,var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL 'getValue(Any?, Any?): Int' type=kotlin.Int origin=null - $this: GET_FIELD '`test2$delegate`: Cell' type=Cell origin=null + 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 thisRef: CONST Null type=kotlin.Nothing? value=null - kProp: PROPERTY_REFERENCE 'test2: 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: + 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:[] annotations: - CALL 'constructor A(String)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' 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 flags:[delegated,var] + VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] annotations: - CALL 'constructor A(String)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' type=.A origin=null x: CONST String type=kotlin.String value="test2.set.param" BLOCK_BODY - RETURN type=kotlin.Nothing from='(Int): Unit' - CALL 'setValue(Any?, Any?, Int): Unit' type=kotlin.Unit origin=null - $this: GET_FIELD '`test2$delegate`: Cell' type=Cell origin=null + 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 thisRef: CONST Null type=kotlin.Nothing? value=null - kProp: PROPERTY_REFERENCE 'test2: Int' field=null getter='(): Int' setter='(Int): Unit' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - newValue: GET_VAR 'value-parameter : Int' type=kotlin.Int origin=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 diff --git a/compiler/testData/ir/irText/declarations/annotations/enumEntriesWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/enumEntriesWithAnnotations.txt index 65475aab69d..61775a1cf36 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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'x: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@TestAnn: TestAnn' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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] - $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 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] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: TestEnum - INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .TestEnum + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum modality:OPEN visibility:public flags:[] superTypes:[kotlin.Enum<.TestEnum>]' ENUM_ENTRY name:ENTRY1 annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null x: CONST String type=kotlin.String value="ENTRY1" - init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum()' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.TestEnum flags:[primary]' ENUM_ENTRY name:ENTRY2 annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null x: CONST String type=kotlin.String value="ENTRY2" - init: ENUM_CONSTRUCTOR_CALL 'constructor ENTRY2()' - class: CLASS ENUM_ENTRY name:ENTRY2 modality:FINAL visibility:public flags: superTypes:[TestEnum] + 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] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[] + CONSTRUCTOR visibility:private <> () returnType:.TestEnum.ENTRY2 flags:[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 TestEnum()' - INSTANCE_INITIALIZER_CALL classDescriptor='ENTRY2' - 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 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] 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 flags:[] + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] + $this: VALUE_PARAMETER name: type:.TestEnum.ENTRY2 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@ENTRY2: ENTRY2' type=TestEnum.ENTRY2 origin=null - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestEnum flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, 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 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:[] overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:TestEnum flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] 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 68367af0f67..5a086ec3cc8 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] - $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 flags:[] superTypes:[kotlin.Enum<.En>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.En flags:[] + CONSTRUCTOR visibility:private <> () returnType:.En flags:[primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: En - INSTANCE_INITIALIZER_CALL classDescriptor='En' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .En + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:En modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.En>]' ENUM_ENTRY name:A - init: ENUM_CONSTRUCTOR_CALL 'constructor En()' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.En flags:[primary]' ENUM_ENTRY name:B - init: ENUM_CONSTRUCTOR_CALL 'constructor En()' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.En flags:[primary]' ENUM_ENTRY name:C - init: ENUM_CONSTRUCTOR_CALL 'constructor En()' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.En flags:[primary]' ENUM_ENTRY name:D - init: ENUM_CONSTRUCTOR_CALL 'constructor En()' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:En flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] 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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: En' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): En' - GET_FIELD 'x: En' type=En origin=null - receiver: GET_VAR 'this@TestAnn: TestAnn' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] annotations: - CALL 'constructor TestAnn(En)' type=TestAnn origin=null - x: GET_ENUM 'A' type=En + CALL 'CONSTRUCTOR visibility:public <> (x:.En) returnType:.TestAnn flags:[primary]' 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 45b5919dd02..a03e172d177 100644 --- a/compiler/testData/ir/irText/declarations/annotations/fieldsWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/fieldsWithAnnotations.txt @@ -1,60 +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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'x: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@TestAnn: TestAnn' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[] + correspondingProperty: PROPERTY name:testVal visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'testVal: String' 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='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] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[] + correspondingProperty: PROPERTY name:testVar visibility:public modality:FINAL flags:[var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'testVar: String' 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='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:[] BLOCK_BODY - SET_FIELD 'testVar: String' type=kotlin.Unit origin=null - value: GET_VAR 'value-parameter : String' type=kotlin.String origin=null - + 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 diff --git a/compiler/testData/ir/irText/declarations/annotations/fileAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/fileAnnotations.txt index 0786e2bc7b7..ac72dd47db6 100644 --- a/compiler/testData/ir/irText/declarations/annotations/fileAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/fileAnnotations.txt @@ -2,37 +2,37 @@ FILE fqName:test fileName:/fileAnnotations.kt fileAnnotations: @test.A(x = "File annotation") annotations: - CALL 'constructor A(String)' type=test.A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:test.A flags:[primary]' 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 flags:[] superTypes:[kotlin.Annotation] annotations: - CALL 'constructor Target(vararg AnnotationTarget)' type=kotlin.annotation.Target origin=null + CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (allowedTargets:kotlin.Array) returnType:kotlin.annotation.Target flags:[primary]' type=kotlin.annotation.Target origin=null allowedTargets: VARARG type=kotlin.Array varargElementType=kotlin.annotation.AnnotationTarget - GET_ENUM '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 + 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'x: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@A: A' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/annotations/functionsWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/functionsWithAnnotations.txt index 7e6042ed800..7313c68cd2e 100644 --- a/compiler/testData/ir/irText/declarations/annotations/functionsWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/functionsWithAnnotations.txt @@ -1,35 +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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestAnn: TestAnn' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:testSimpleFunction visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] annotations: - CALL 'constructor TestAnn(Int)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.TestAnn flags:[primary]' 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 76871fb583c..c779436feeb 100644 --- a/compiler/testData/ir/irText/declarations/annotations/javaAnnotation.txt +++ b/compiler/testData/ir/irText/declarations/annotations/javaAnnotation.txt @@ -1,18 +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 flags:[] annotations: - CALL 'constructor JavaAnn(String = ..., Int = ...)' type=JavaAnn origin=null + CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public/*package*/ <> (value:kotlin.String, i:kotlin.Int) returnType:.JavaAnn flags:[primary]' 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 flags:[] annotations: - CALL 'constructor JavaAnn(String = ..., Int = ...)' type=JavaAnn origin=null + CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public/*package*/ <> (value:kotlin.String, i:kotlin.Int) returnType:.JavaAnn flags:[primary]' 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 flags:[] annotations: - CALL 'constructor JavaAnn(String = ..., Int = ...)' type=JavaAnn origin=null + CALL 'CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public/*package*/ <> (value:kotlin.String, i:kotlin.Int) returnType:.JavaAnn flags:[primary]' 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 7d48bf5d3dd..a873dcbf1f4 100644 --- a/compiler/testData/ir/irText/declarations/annotations/localDelegatedPropertiesWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/localDelegatedPropertiesWithAnnotations.txt @@ -1,54 +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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'x: String' type=kotlin.String 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY LOCAL_DELEGATED_PROPERTY name:test type:kotlin.Int flags:val annotations: - CALL 'constructor A(String)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' type=.A origin=null x: CONST String type=kotlin.String value="foo/test" - VAR DELEGATE name:test$delegate type:kotlin.Lazy flags:val - CALL 'lazy(() -> T): Lazy' type=kotlin.Lazy origin=null + 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 : 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE '(): Int' type=kotlin.Function0 origin=LAMBDA - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL 'getValue(Any?, KProperty<*>) on Lazy: T' type=kotlin.Int origin=null + 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 : kotlin.Int - $receiver: GET_VAR '`test$delegate`: Lazy' type=kotlin.Lazy origin=null + $receiver: GET_VAR 'VAR DELEGATE name:test$delegate type:kotlin.Lazy flags:[val]' type=kotlin.Lazy origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'test: Int' delegate='`test$delegate`: Lazy' getter='(): Int' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - + 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 diff --git a/compiler/testData/ir/irText/declarations/annotations/multipleAnnotationsInSquareBrackets.txt b/compiler/testData/ir/irText/declarations/annotations/multipleAnnotationsInSquareBrackets.txt index 93a458ba4dc..47bc191e3fa 100644 --- a/compiler/testData/ir/irText/declarations/annotations/multipleAnnotationsInSquareBrackets.txt +++ b/compiler/testData/ir/irText/declarations/annotations/multipleAnnotationsInSquareBrackets.txt @@ -1,62 +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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] annotations: - CALL 'constructor A1()' type=A1 origin=null - CALL 'constructor A2()' type=A2 origin=null - CALL 'constructor A3()' type=A3 origin=null - CALL 'constructor A1()' type=A1 origin=null - CALL 'constructor A2()' type=A2 origin=null - CALL 'constructor A3()' type=A3 origin=null - CALL 'constructor A1()' type=A1 origin=null - CALL 'constructor A2()' type=A2 origin=null - CALL 'constructor A3()' 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 '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 BLOCK_BODY - diff --git a/compiler/testData/ir/irText/declarations/annotations/primaryConstructorParameterWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/primaryConstructorParameterWithAnnotations.txt index 8064b64635c..b49dba18e09 100644 --- a/compiler/testData/ir/irText/declarations/annotations/primaryConstructorParameterWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/primaryConstructorParameterWithAnnotations.txt @@ -1,51 +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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] annotations: - CALL 'constructor Ann()' type=Ann origin=null + CALL 'CONSTRUCTOR visibility:public <> () returnType:.Ann flags:[primary]' type=.Ann origin=null BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test: Test' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/annotations/propertiesWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/propertiesWithAnnotations.txt index 5ce5fe9ec40..5eaed377bf8 100644 --- a/compiler/testData/ir/irText/declarations/annotations/propertiesWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/propertiesWithAnnotations.txt @@ -1,42 +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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'x: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@TestAnn: TestAnn' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + PROPERTY name:testVal visibility:public modality:FINAL flags:[val] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[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 flags:[] + correspondingProperty: PROPERTY name:testVal visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'testVal: String' type=kotlin.String origin=null - + 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 diff --git a/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsFromClassHeaderWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsFromClassHeaderWithAnnotations.txt index 8ff829dfd29..038f8b7b969 100644 --- a/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsFromClassHeaderWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsFromClassHeaderWithAnnotations.txt @@ -1,90 +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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'x: String' type=kotlin.String 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] annotations: - CALL 'constructor A(String)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' 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 flags:[val] + $this: VALUE_PARAMETER name: type:.C flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' 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='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:[] EXPRESSION_BODY - GET_VAR 'value-parameter y: Int' 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 '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:[] annotations: - CALL 'constructor A(String)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' 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 flags:[var] + $this: VALUE_PARAMETER name: type:.C flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'y: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' 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='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:[] annotations: - CALL 'constructor A(String)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.A flags:[primary]' 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 flags:[var] + $this: VALUE_PARAMETER name: type:.C flags:[] + VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] BLOCK_BODY - SET_FIELD 'y: 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsWithAnnotations.txt index fc68b504bb0..a0a69198a38 100644 --- a/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/propertyAccessorsWithAnnotations.txt @@ -1,88 +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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'x: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@TestAnn: TestAnn' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' 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 flags:[var] + FUN name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' 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 flags:[] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[var] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.String visibility:public flags:[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 flags:[] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'test3: String' 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='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] 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 flags:[] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'test4: String' 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='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:[] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[var] + VALUE_PARAMETER name: index:0 type:kotlin.String flags:[] BLOCK_BODY - SET_FIELD 'test4: String' type=kotlin.Unit origin=null - value: GET_VAR 'value-parameter : String' type=kotlin.String origin=null - + 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 diff --git a/compiler/testData/ir/irText/declarations/annotations/propertySetterParameterWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/propertySetterParameterWithAnnotations.txt index c7f89797676..91a462efef5 100644 --- a/compiler/testData/ir/irText/declarations/annotations/propertySetterParameterWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/propertySetterParameterWithAnnotations.txt @@ -1,76 +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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] 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 flags:[] + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'p: Int' 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='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:[] annotations: - CALL 'constructor AnnParam()' type=AnnParam origin=null + CALL 'CONSTRUCTOR visibility:public <> () returnType:.AnnParam flags:[primary]' type=.AnnParam origin=null BLOCK_BODY - SET_FIELD 'p: Int' type=kotlin.Unit origin=null - value: GET_VAR 'value-parameter : Int' 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - PROPERTY name:p visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags: + 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:[] EXPRESSION_BODY - GET_VAR 'value-parameter p: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'p: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' 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='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:[] annotations: - CALL 'constructor AnnParam()' type=AnnParam origin=null + CALL 'CONSTRUCTOR visibility:public <> () returnType:.AnnParam flags:[primary]' type=.AnnParam origin=null BLOCK_BODY - SET_FIELD 'p: 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/annotations/receiverParameterWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/receiverParameterWithAnnotations.txt index 9d0988cb452..453d85262e8 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - 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 '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:[] annotations: - CALL 'constructor Ann()' type=Ann origin=null + CALL 'CONSTRUCTOR visibility:public <> () returnType:.Ann flags:[primary]' type=.Ann origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='f() on String: String' + RETURN type=kotlin.Nothing from='FUN name:f visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.String) returnType:kotlin.String flags:[]' 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 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:[] annotations: - CALL 'constructor Ann()' type=Ann origin=null + CALL 'CONSTRUCTOR visibility:public <> () returnType:.Ann flags:[primary]' type=.Ann origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='() on String?: String' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.String?) returnType:kotlin.String flags:[]' 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] annotations: - CALL 'constructor Ann()' type=Ann origin=null + CALL 'CONSTRUCTOR visibility:public <> () returnType:.Ann flags:[primary]' type=.Ann origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='topLevelF() on String?: String' + RETURN type=kotlin.Nothing from='FUN name:topLevelF visibility:public modality:FINAL <> ($receiver:kotlin.String?) returnType:kotlin.String flags:[]' 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 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:[] annotations: - CALL 'constructor Ann()' type=Ann origin=null + CALL 'CONSTRUCTOR visibility:public <> () returnType:.Ann flags:[primary]' type=.Ann origin=null BLOCK_BODY - RETURN type=kotlin.Nothing from='() on String: String' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:[]' 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 fe3b15781a0..2af873c10e2 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 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] EXPRESSION_BODY - GET_VAR 'value-parameter vararg xs: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Array' - GET_FIELD 'xs: Array' type=kotlin.Array 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] annotations: - CALL 'constructor A(vararg String)' type=A origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A flags:[primary]' 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 a254b9e2abe..61ea3aa31e9 100644 --- a/compiler/testData/ir/irText/declarations/annotations/typeAliasesWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/typeAliasesWithAnnotations.txt @@ -1,37 +1,37 @@ 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 flags:[] superTypes:[kotlin.Annotation] annotations: - CALL 'constructor Target(vararg AnnotationTarget)' type=kotlin.annotation.Target origin=null + CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (allowedTargets:kotlin.Array) returnType:kotlin.annotation.Target flags:[primary]' type=kotlin.annotation.Target origin=null allowedTargets: VARARG type=kotlin.Array varargElementType=kotlin.annotation.AnnotationTarget - GET_ENUM '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 + 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'x: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@TestAnn: TestAnn' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] TYPEALIAS typealias TestTypeAlias = String type=kotlin.String annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null x: CONST String type=kotlin.String value="TestTypeAlias" diff --git a/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.txt index 3023044c724..7967f732d92 100644 --- a/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.txt @@ -1,27 +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 flags:[] superTypes:[kotlin.Annotation] annotations: - CALL 'constructor Target(vararg AnnotationTarget)' type=kotlin.annotation.Target origin=null + CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (allowedTargets:kotlin.Array) returnType:kotlin.annotation.Target flags:[primary]' type=kotlin.annotation.Target origin=null allowedTargets: VARARG type=kotlin.Array varargElementType=kotlin.annotation.AnnotationTarget - GET_ENUM '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: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:foo visibility:public modality:FINAL () returnType:kotlin.Unit flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] annotations: - CALL 'constructor Anno()' type=Anno origin=null + CALL 'CONSTRUCTOR visibility:public <> () returnType:.Anno flags:[primary]' 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 4d18e8605a1..e70b6140efb 100644 --- a/compiler/testData/ir/irText/declarations/annotations/valueParametersWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/valueParametersWithAnnotations.txt @@ -1,70 +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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'x: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@TestAnn: TestAnn' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 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:[] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' type=.TestAnn origin=null x: CONST String type=kotlin.String value="TestClassConstructor1.x" BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestClassConstructor1' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'xx: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestClassConstructor1: TestClassConstructor1' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/annotations/varargsInAnnotationArguments.txt b/compiler/testData/ir/irText/declarations/annotations/varargsInAnnotationArguments.txt index 9a346a876b1..9f7482b8de4 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 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] EXPRESSION_BODY - GET_VAR 'value-parameter vararg xs: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): IntArray' - GET_FIELD 'xs: IntArray' type=kotlin.IntArray origin=null - receiver: GET_VAR 'this@A1: A1' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] EXPRESSION_BODY - GET_VAR 'value-parameter vararg xs: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Array' - GET_FIELD 'xs: Array' type=kotlin.Array origin=null - receiver: GET_VAR 'this@A2: A2' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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) returnType:AA flags:primary - VALUE_PARAMETER name:xs index:0 type:kotlin.Array varargElementType:A1 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 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] EXPRESSION_BODY - GET_VAR 'value-parameter vararg xs: A1' type=kotlin.Array origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:AA) returnType:kotlin.Array flags: - correspondingProperty: PROPERTY name:xs visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:AA flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Array' - GET_FIELD 'xs: Array' type=kotlin.Array origin=null - receiver: GET_VAR 'this@AA: AA' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] annotations: - CALL 'constructor A1(vararg Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' 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 A2(vararg String)' type=A2 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A2 flags:[primary]' 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 AA(vararg A1)' type=AA origin=null - xs: VARARG type=kotlin.Array varargElementType=A1 - CALL 'constructor A1(vararg Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array.A1>) returnType:.AA flags:[primary]' 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 xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=4 - CALL 'constructor A1(vararg Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=5 - CALL 'constructor A1(vararg Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=6 - CALL 'constructor A1(vararg Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' 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 A2(vararg String)' type=A2 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A2 flags:[primary]' 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 AA(vararg A1)' type=AA origin=null - xs: VARARG type=kotlin.Array varargElementType=A1 - CALL 'constructor A1(vararg Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array.A1>) returnType:.AA flags:[primary]' 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 xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=4 - CALL 'constructor A1(vararg Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=5 - CALL 'constructor A1(vararg Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=6 - CALL 'constructor A1(vararg Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' 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 A2(vararg String)' type=A2 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A2 flags:[primary]' 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 AA(vararg A1)' type=AA origin=null - xs: VARARG type=kotlin.Array varargElementType=A1 - CALL 'constructor A1(vararg Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array.A1>) returnType:.AA flags:[primary]' 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 xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=4 - CALL 'constructor A1(vararg Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int CONST Int type=kotlin.Int value=5 - CALL 'constructor A1(vararg Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' 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 flags:[] annotations: - CALL 'constructor A1(vararg Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:.A1 flags:[primary]' type=.A1 origin=null xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int - CALL 'constructor A2(vararg String)' type=A2 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A2 flags:[primary]' type=.A2 origin=null xs: VARARG type=kotlin.Array varargElementType=kotlin.String - CALL 'constructor AA(vararg A1)' type=AA origin=null - xs: VARARG type=kotlin.Array varargElementType=A1 - CALL 'constructor A1(vararg Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array.A1>) returnType:.AA flags:[primary]' 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 xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int - CALL 'constructor A2(vararg String)' type=A2 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A2 flags:[primary]' type=.A2 origin=null xs: VARARG type=kotlin.Array varargElementType=kotlin.String - CALL 'constructor AA(vararg A1)' type=AA origin=null - xs: VARARG type=kotlin.Array varargElementType=A1 - CALL 'constructor A1(vararg Int)' type=A1 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array.A1>) returnType:.AA flags:[primary]' 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 xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int - CALL 'constructor A2(vararg String)' type=A2 origin=null + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array) returnType:.A2 flags:[primary]' type=.A2 origin=null xs: VARARG type=kotlin.Array varargElementType=kotlin.String - CALL 'constructor AA(vararg A1)' type=AA origin=null - xs: VARARG type=kotlin.Array varargElementType=A1 + CALL 'CONSTRUCTOR visibility:public <> (xs:kotlin.Array.A1>) returnType:.AA flags:[primary]' 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 9fcb6f173a8..53d91b70f56 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 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'x: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@TestAnn: TestAnn' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] BLOCK_BODY - VAR name:testVal type:kotlin.String flags:val + VAR name:testVal type:kotlin.String flags:[val] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 flags:[var] annotations: - CALL 'constructor TestAnn(String)' type=TestAnn origin=null + CALL 'CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:.TestAnn flags:[primary]' 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 ae4401c094a..f6dd4c694bd 100644 --- a/compiler/testData/ir/irText/declarations/catchParameterInTopLevelProperty.txt +++ b/compiler/testData/ir/irText/declarations/catchParameterInTopLevelProperty.txt @@ -1,15 +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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Unit visibility:public flags:[final,static] EXPRESSION_BODY TRY type=kotlin.Unit try: BLOCK type=kotlin.Unit origin=null - CATCH parameter=e: Throwable - VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:val + CATCH parameter=VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:[val] + VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:[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 flags:[] + correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Unit' - GET_FIELD 'test: Unit' type=kotlin.Unit origin=null - + 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 diff --git a/compiler/testData/ir/irText/declarations/classLevelProperties.txt b/compiler/testData/ir/irText/declarations/classLevelProperties.txt index 79486f194cc..9c2d89200b2 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] + CONSTRUCTOR visibility:public <> () returnType:.C flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - 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 '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] 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 flags:[] + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] + $this: VALUE_PARAMETER name: type:.C flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test1: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int flags:[]' 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 flags:[var] + FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public flags:[] 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 flags:[] + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[var] + $this: VALUE_PARAMETER name: type:.C flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test3: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' 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='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:[] BLOCK_BODY - SET_FIELD 'test3: 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: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 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:[] 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 flags:[] + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[var] + $this: VALUE_PARAMETER name: type:.C flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test4: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' 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='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:[] BLOCK_BODY - SET_FIELD 'test4: Int' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'this@C: C' type=C origin=null - value: GET_VAR 'value-parameter value: Int' 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 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:[] 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 flags:[] + correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL flags:[var] + $this: VALUE_PARAMETER name: type:.C flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test5: 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: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='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:[] BLOCK_BODY - SET_FIELD 'test5: 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: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 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] 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 flags:[] + correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL flags:[val] + $this: VALUE_PARAMETER name: type:.C flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test6: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' 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='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] EXPRESSION_BODY - CALL 'lazy(() -> T): Lazy' type=kotlin.Lazy origin=null + CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:lazy visibility:public modality:FINAL (initializer:kotlin.Function0) returnType:kotlin.Lazy flags:[]' 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE '(): Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL 'getValue(Any?, KProperty<*>) on Lazy: T' type=kotlin.Int origin=null + 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 : kotlin.Int - $receiver: GET_FIELD '`test7$delegate`: Lazy' type=kotlin.Lazy origin=null - receiver: GET_VAR 'this@C: C' type=C origin=null - thisRef: GET_VAR 'this@C: C' type=C origin=null - property: PROPERTY_REFERENCE 'test7: Int' field=null getter='(): Int' setter=null type=kotlin.reflect.KProperty1 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 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] EXPRESSION_BODY - CALL 'hashMapOf(): HashMap /* = HashMap */' type=java.util.HashMap origin=null + CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashMapOf visibility:public modality:FINAL () returnType:java.util.HashMap flags:[inline]' 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 flags:[] + correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL flags:[delegated,var] + $this: VALUE_PARAMETER name: type:.C flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL 'getValue(Any?, KProperty<*>) on MutableMap: V1' type=kotlin.Int origin=null + 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 : kotlin.Int : kotlin.Int - $receiver: GET_FIELD '`test8$delegate`: HashMap /* = HashMap */' type=java.util.HashMap origin=null - receiver: GET_VAR 'this@C: C' type=C origin=null - thisRef: GET_VAR 'this@C: C' type=C origin=null - property: PROPERTY_REFERENCE 'test8: Int' field=null getter='(): Int' setter='(Int): Unit' type=kotlin.reflect.KMutableProperty1 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(Int): Unit' - CALL 'setValue(Any?, KProperty<*>, V) on MutableMap: Unit' type=kotlin.Unit origin=null + 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 : kotlin.Int - $receiver: GET_FIELD '`test8$delegate`: HashMap /* = HashMap */' type=java.util.HashMap origin=null - receiver: GET_VAR 'this@C: C' type=C origin=null - thisRef: GET_VAR 'this@C: C' type=C origin=null - property: PROPERTY_REFERENCE 'test8: Int' field=null getter='(): Int' setter='(Int): Unit' type=kotlin.reflect.KMutableProperty1 origin=PROPERTY_REFERENCE_FOR_DELEGATE - 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: + $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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/constValInitializers.txt b/compiler/testData/ir/irText/declarations/constValInitializers.txt index 9298298ef0a..987c1ec7d6c 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 flags:[const,val] + FIELD PROPERTY_BACKING_FIELD name:I0 type:kotlin.Int visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:I0 visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'I0: Int' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:I1 visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'I1: Int' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:I2 visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'I2: Int' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:STR1 visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'STR1: String' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:STR2 visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'STR2: String' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:STR3 visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'STR3: String' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:STR4 visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'STR4: String' type=kotlin.String origin=null + 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 diff --git a/compiler/testData/ir/irText/declarations/defaultArguments.txt b/compiler/testData/ir/irText/declarations/defaultArguments.txt index f87767faceb..431bf57b982 100644 --- a/compiler/testData/ir/irText/declarations/defaultArguments.txt +++ b/compiler/testData/ir/irText/declarations/defaultArguments.txt @@ -1,22 +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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] 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 flags:[] 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 flags:[] + VALUE_PARAMETER name:xx index:0 type:kotlin.Int flags:[] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null - VALUE_PARAMETER name:yy index:1 type:kotlin.Int flags: + 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:[] EXPRESSION_BODY - GET_VAR 'value-parameter y: Int = ...' type=kotlin.Int origin=null - VALUE_PARAMETER name:zz index:2 type:kotlin.String flags: + 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:[] EXPRESSION_BODY - GET_VAR 'value-parameter z: String = ...' type=kotlin.String origin=null + GET_VAR 'VALUE_PARAMETER name:z index:2 type:kotlin.String flags:[]' 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 131cbc00335..7fdf9b315eb 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 flags:[delegated,val] + FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private flags:[final,static] EXPRESSION_BODY - CALL 'lazy(() -> T): Lazy' type=kotlin.Lazy origin=null + CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:lazy visibility:public modality:FINAL (initializer:kotlin.Function0) returnType:kotlin.Lazy flags:[]' 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE '(): Int' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL 'getValue(Any?, KProperty<*>) on Lazy: T' type=kotlin.Int origin=null + 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 : kotlin.Int - $receiver: GET_FIELD '`test1$delegate`: Lazy' type=kotlin.Lazy origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private flags:[final,static]' type=kotlin.Lazy origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'test1: Int' field=null getter='(): Int' 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 '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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter map: MutableMap' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): MutableMap' - GET_FIELD 'map: MutableMap' type=kotlin.collections.MutableMap origin=null - receiver: GET_VAR 'this@C: C' 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='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] EXPRESSION_BODY - CALL 'lazy(() -> T): Lazy' type=kotlin.Lazy origin=null + CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:lazy visibility:public modality:FINAL (initializer:kotlin.Function0) returnType:kotlin.Lazy flags:[]' 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE '(): Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL 'getValue(Any?, KProperty<*>) on Lazy: T' type=kotlin.Int origin=null + 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 : kotlin.Int - $receiver: GET_FIELD '`test2$delegate`: Lazy' type=kotlin.Lazy origin=null - receiver: GET_VAR 'this@C: C' type=C origin=null - thisRef: GET_VAR 'this@C: C' type=C origin=null - property: PROPERTY_REFERENCE 'test2: Int' field=null getter='(): Int' setter=null type=kotlin.reflect.KProperty1 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 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] EXPRESSION_BODY - CALL '(): MutableMap' type=kotlin.collections.MutableMap origin=GET_PROPERTY - $this: GET_VAR 'this@C: C' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Any' - CALL 'getValue(Any?, KProperty<*>) on MutableMap: V1' type=kotlin.Any origin=null + 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 : kotlin.Any : kotlin.Any - $receiver: GET_FIELD '`test3$delegate`: MutableMap' type=kotlin.collections.MutableMap origin=null - receiver: GET_VAR 'this@C: C' type=C origin=null - thisRef: GET_VAR 'this@C: C' type=C origin=null - property: PROPERTY_REFERENCE 'test3: Any' field=null getter='(): Any' setter='(Any): Unit' type=kotlin.reflect.KMutableProperty1 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(Any): Unit' - CALL 'setValue(Any?, KProperty<*>, V) on MutableMap: Unit' type=kotlin.Unit origin=null + 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 : kotlin.Any - $receiver: GET_FIELD '`test3$delegate`: MutableMap' type=kotlin.collections.MutableMap origin=null - receiver: GET_VAR 'this@C: C' type=C origin=null - thisRef: GET_VAR 'this@C: C' type=C origin=null - property: PROPERTY_REFERENCE 'test3: Any' field=null getter='(): Any' setter='(Any): Unit' type=kotlin.reflect.KMutableProperty1 origin=PROPERTY_REFERENCE_FOR_DELEGATE - value: GET_VAR 'value-parameter : Any' 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] EXPRESSION_BODY - CALL 'hashMapOf(): HashMap /* = HashMap */' type=java.util.HashMap origin=null + CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashMapOf visibility:public modality:FINAL () returnType:java.util.HashMap flags:[inline]' 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 flags:[] + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[delegated,var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Any' - CALL 'getValue(Any?, KProperty<*>) on MutableMap: V1' type=kotlin.Any origin=null + 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 : kotlin.Any : kotlin.Any - $receiver: GET_FIELD '`test4$delegate`: HashMap /* = HashMap */' type=java.util.HashMap origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:test4$delegate type:java.util.HashMap visibility:private flags:[final,static]' type=java.util.HashMap origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'test4: Any' field=null getter='(): Any' setter='(Any): Unit' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(Any): Unit' - CALL 'setValue(Any?, KProperty<*>, V) on MutableMap: Unit' type=kotlin.Unit origin=null + 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 : kotlin.Any - $receiver: GET_FIELD '`test4$delegate`: HashMap /* = HashMap */' type=java.util.HashMap origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:test4$delegate type:java.util.HashMap visibility:private flags:[final,static]' type=java.util.HashMap origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'test4: Any' field=null getter='(): Any' setter='(Any): Unit' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - value: GET_VAR 'value-parameter : Any' type=kotlin.Any origin=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 diff --git a/compiler/testData/ir/irText/declarations/extensionProperties.txt b/compiler/testData/ir/irText/declarations/extensionProperties.txt index 32b6081fb47..24cdd5a99b9 100644 --- a/compiler/testData/ir/irText/declarations/extensionProperties.txt +++ b/compiler/testData/ir/irText/declarations/extensionProperties.txt @@ -1,62 +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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on String: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:[]' 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on String: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:[]' 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 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:[] 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Host flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Host' - 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on String: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String) returnType:kotlin.Int flags:[]' 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on String: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.Host, $receiver:kotlin.String) returnType:kotlin.Int flags:[]' 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 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:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/fakeOverrides.txt b/compiler/testData/ir/irText/declarations/fakeOverrides.txt index 7e911ca437b..250a8c8685a 100644 --- a/compiler/testData/ir/irText/declarations/fakeOverrides.txt +++ b/compiler/testData/ir/irText/declarations/fakeOverrides.txt @@ -1,108 +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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags: + 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:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:CFoo flags:primary + CONSTRUCTOR visibility:public <> () returnType:.CFoo<.CFoo.T> flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='CFoo' - FUN name:foo visibility:public modality:FINAL <> ($this:CFoo, x:T) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:CFoo flags: - VALUE_PARAMETER name:x index:0 type:T flags: + 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:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor CFoo()' + DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.CFoo<.CFoo.T> flags:[primary]' : kotlin.String - INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - 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 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] 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 flags:[] + correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN flags:[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 flags:[] + $this: VALUE_PARAMETER name: type:.Test1 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'bar: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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:[] overridden: - FUN name:foo visibility:public modality:FINAL <> ($this:CFoo, x: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.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:[] 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 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:[] 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 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:[] 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 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:[] diff --git a/compiler/testData/ir/irText/declarations/fileWithAnnotations.txt b/compiler/testData/ir/irText/declarations/fileWithAnnotations.txt index ac51c6d2e40..e36a60df4a8 100644 --- a/compiler/testData/ir/irText/declarations/fileWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/fileWithAnnotations.txt @@ -2,17 +2,16 @@ FILE fqName: fileName:/fileWithAnnotations.kt fileAnnotations: @kotlin.jvm.JvmName(name = "FileWithAnnotations") annotations: - CALL 'constructor JvmName(String)' type=kotlin.jvm.JvmName origin=null + CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String) returnType:kotlin.jvm.JvmName flags:[primary]' 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 flags:[] 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'bar: Int' type=kotlin.Int origin=null - + 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 diff --git a/compiler/testData/ir/irText/declarations/interfaceProperties.txt b/compiler/testData/ir/irText/declarations/interfaceProperties.txt index 87ba349275c..20ac3025da7 100644 --- a/compiler/testData/ir/irText/declarations/interfaceProperties.txt +++ b/compiler/testData/ir/irText/declarations/interfaceProperties.txt @@ -1,48 +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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int flags:[]' 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int flags:[]' 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 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:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/kt27005.txt b/compiler/testData/ir/irText/declarations/kt27005.txt index abd4e50dc46..82983cd922d 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 flags:[suspend] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(): Unit' - CALL 'baz(): T' type=kotlin.Unit origin=null + 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 : kotlin.Unit - FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Any flags:suspend + FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[suspend] BLOCK_BODY - RETURN type=kotlin.Nothing from='bar(): Any' - CALL 'baz(): T' type=kotlin.Any origin=null + 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 : kotlin.Any - FUN name:baz visibility:public modality:FINAL () returnType:T flags:suspend + FUN name:baz visibility:public modality:FINAL () returnType:.baz.T flags:[suspend] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] BLOCK_BODY - CALL 'TODO(): Nothing' type=kotlin.Nothing origin=null + CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:TODO visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[inline]' type=kotlin.Nothing origin=null diff --git a/compiler/testData/ir/irText/declarations/kt29833.txt b/compiler/testData/ir/irText/declarations/kt29833.txt index cf9ab83e565..b3323c9953e 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:interop.Definitions flags:[] + CONSTRUCTOR visibility:private <> () returnType:interop.Definitions flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Definitions' - 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 '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] 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 flags:[] + correspondingProperty: PROPERTY name:KT_CONSTANT visibility:public modality:FINAL flags:[const,val] + $this: VALUE_PARAMETER name: type:interop.Definitions flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'KT_CONSTANT: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@Definitions: Definitions' 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='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] EXPRESSION_BODY - GET_FIELD 'CONSTANT: String' 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'ktValue: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@Definitions: Definitions' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/localClassWithOverrides.txt b/compiler/testData/ir/irText/declarations/localClassWithOverrides.txt index e2c22dd5fb4..4bc445f5029 100644 --- a/compiler/testData/ir/irText/declarations/localClassWithOverrides.txt +++ b/compiler/testData/ir/irText/declarations/localClassWithOverrides.txt @@ -1,97 +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 flags:[] 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.outer.ALocal flags:[] + CONSTRUCTOR visibility:public <> () returnType:.outer.ALocal flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='ALocal' - 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 '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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor ALocal()' - INSTANCE_INITIALIZER_CALL classDescriptor='Local' - FUN name:afun visibility:public modality:OPEN <> ($this:outer.Local) returnType:kotlin.Unit flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.outer.Local flags:[] 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:aval type:kotlin.Int visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:aval visibility:public modality:OPEN flags:[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 flags:[] + $this: VALUE_PARAMETER name: type:.outer.Local flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'aval: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Local: Local' 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='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:[] 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 flags:[] + correspondingProperty: PROPERTY name:avar visibility:public modality:OPEN flags:[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 flags:[] + $this: VALUE_PARAMETER name: type:.outer.Local flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'avar: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Local: Local' 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='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] 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 flags:[] + $this: VALUE_PARAMETER name: type:.outer.Local flags:[] + VALUE_PARAMETER name: index:0 type:kotlin.Int flags:[] BLOCK_BODY - SET_FIELD 'avar: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@Local: Local' type=outer.Local 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/localDelegatedProperties.txt b/compiler/testData/ir/irText/declarations/localDelegatedProperties.txt index e1c04317fef..fd0c0ef8e5c 100644 --- a/compiler/testData/ir/irText/declarations/localDelegatedProperties.txt +++ b/compiler/testData/ir/irText/declarations/localDelegatedProperties.txt @@ -1,65 +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 flags:[] BLOCK_BODY LOCAL_DELEGATED_PROPERTY name:x type:kotlin.Int flags:val - VAR DELEGATE name:x$delegate type:kotlin.Lazy flags:val - CALL 'lazy(() -> T): Lazy' type=kotlin.Lazy origin=null + 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 : 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE '(): Int' type=kotlin.Function0 origin=LAMBDA - FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL 'getValue(Any?, KProperty<*>) on Lazy: T' type=kotlin.Int origin=null + 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 : kotlin.Int - $receiver: GET_VAR '`x$delegate`: Lazy' type=kotlin.Lazy origin=null + $receiver: GET_VAR 'VAR DELEGATE name:x$delegate type:kotlin.Lazy flags:[val]' type=kotlin.Lazy origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'x: Int' delegate='`x$delegate`: Lazy' getter='(): Int' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - CALL 'println(Int): Unit' type=kotlin.Unit origin=null - message: CALL '(): Int' 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='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:[] BLOCK_BODY LOCAL_DELEGATED_PROPERTY name:x type:kotlin.Int flags:var - VAR DELEGATE name:x$delegate type:java.util.HashMap flags:val - CALL 'hashMapOf(): HashMap /* = HashMap */' type=java.util.HashMap origin=null + 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 : 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL 'getValue(Any?, KProperty<*>) on MutableMap: V1' type=kotlin.Int origin=null + 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 : kotlin.Int : kotlin.Int - $receiver: GET_VAR '`x$delegate`: HashMap /* = HashMap */' type=java.util.HashMap origin=null + $receiver: GET_VAR 'VAR DELEGATE name:x$delegate type:java.util.HashMap flags:[val]' type=java.util.HashMap origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'x: Int' delegate='`x$delegate`: HashMap /* = HashMap */' getter='(): Int' setter='(Int): Unit' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(Int): Unit' - CALL 'setValue(Any?, KProperty<*>, V) on MutableMap: Unit' type=kotlin.Unit origin=null + 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 : kotlin.Int - $receiver: GET_VAR '`x$delegate`: HashMap /* = HashMap */' type=java.util.HashMap origin=null + $receiver: GET_VAR 'VAR DELEGATE name:x$delegate type:java.util.HashMap flags:[val]' type=java.util.HashMap origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'x: Int' delegate='`x$delegate`: HashMap /* = HashMap */' getter='(): Int' setter='(Int): Unit' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - value: GET_VAR 'value-parameter value: Int' type=kotlin.Int origin=null - CALL '(Int): Unit' type=kotlin.Unit origin=EQ + 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 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 flags:[] superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:val - CALL '(): Int' type=kotlin.Int origin=POSTFIX_INCR - CALL '(Int): Unit' type=kotlin.Unit origin=POSTFIX_INCR - value: CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp0: Int' type=kotlin.Int origin=null - GET_VAR 'tmp0: Int' type=kotlin.Int origin=null - CALL '(Int): Unit' type=kotlin.Unit origin=PLUSEQ - value: CALL 'plus(Int): Int' type=kotlin.Int origin=PLUSEQ - $this: CALL '(): Int' type=kotlin.Int origin=PLUSEQ + 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 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 a37132badd1..e9151853314 100644 --- a/compiler/testData/ir/irText/declarations/localVarInDoWhile.txt +++ b/compiler/testData/ir/irText/declarations/localVarInDoWhile.txt @@ -1,13 +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 flags:[] 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 flags:[val] CONST Int type=kotlin.Int value=42 - condition: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'x: Int' type=kotlin.Int origin=null + 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 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 a33776d0494..c28ae0762fa 100644 --- a/compiler/testData/ir/irText/declarations/multiplatform/expectClassInherited.txt +++ b/compiler/testData/ir/irText/declarations/multiplatform/expectClassInherited.txt @@ -1,94 +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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - 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 '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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor A()' - INSTANCE_INITIALIZER_CALL classDescriptor='B' - FUN name:foo visibility:public modality:OPEN <> ($this:B) returnType:kotlin.Unit flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.B flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.B flags:[] + VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/multiplatform/expectedEnumClass.txt b/compiler/testData/ir/irText/declarations/multiplatform/expectedEnumClass.txt index c43319c20ef..be68ea1c5f6 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] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:MyEnum flags: + CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.MyEnum>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyEnum flags:[] ENUM_ENTRY name:FOO ENUM_ENTRY name:BAR - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.MyEnum>) returnType:kotlin.Any flags:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:MyEnum flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF - CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public flags: superTypes:[kotlin.Enum] - $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 flags:[] superTypes:[kotlin.Enum<.MyEnum>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyEnum flags:[] + CONSTRUCTOR visibility:private <> () returnType:.MyEnum flags:[primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: MyEnum - INSTANCE_INITIALIZER_CALL classDescriptor='MyEnum' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .MyEnum + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.MyEnum>]' ENUM_ENTRY name:FOO - init: ENUM_CONSTRUCTOR_CALL 'constructor MyEnum()' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.MyEnum flags:[primary]' ENUM_ENTRY name:BAR - init: ENUM_CONSTRUCTOR_CALL 'constructor MyEnum()' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> () returnType:.MyEnum flags:[primary]' ENUM_ENTRY name:BAZ - init: ENUM_CONSTRUCTOR_CALL 'constructor MyEnum()' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:MyEnum flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] 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 4bd3a202af8..bc3ba5f3f7d 100644 --- a/compiler/testData/ir/irText/declarations/multiplatform/expectedSealedClass.txt +++ b/compiler/testData/ir/irText/declarations/multiplatform/expectedSealedClass.txt @@ -1,72 +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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Ops' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Ops()' - INSTANCE_INITIALIZER_CALL classDescriptor='Add' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/packageLevelProperties.txt b/compiler/testData/ir/irText/declarations/packageLevelProperties.txt index 72ada8c80c4..9c420426c7c 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test1: Int' 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='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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 flags:[var] + FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test3: Int' 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='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:[] BLOCK_BODY - SET_FIELD 'test3: Int' type=kotlin.Unit origin=null - value: GET_VAR 'value-parameter : Int' 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 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] 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 flags:[] + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test4: Int' 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='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:[] BLOCK_BODY - SET_FIELD 'test4: Int' type=kotlin.Unit origin=EQ - value: GET_VAR 'value-parameter value: Int' 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 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] 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 flags:[] + correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL flags:[var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test5: Int' 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='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:[] BLOCK_BODY - SET_FIELD 'test5: Int' type=kotlin.Unit origin=null - value: GET_VAR 'value-parameter : Int' 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 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] 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 flags:[] + correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test6: Int' 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='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] EXPRESSION_BODY - CALL 'lazy(() -> T): Lazy' type=kotlin.Lazy origin=null + CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:lazy visibility:public modality:FINAL (initializer:kotlin.Function0) returnType:kotlin.Lazy flags:[]' 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE '(): Int' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL 'getValue(Any?, KProperty<*>) on Lazy: T' type=kotlin.Int origin=null + 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 : kotlin.Int - $receiver: GET_FIELD '`test7$delegate`: Lazy' type=kotlin.Lazy origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:test7$delegate type:kotlin.Lazy visibility:private flags:[final,static]' type=kotlin.Lazy origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'test7: Int' field=null getter='(): Int' 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 '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] EXPRESSION_BODY - CALL 'hashMapOf(): HashMap /* = HashMap */' type=java.util.HashMap origin=null + CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashMapOf visibility:public modality:FINAL () returnType:java.util.HashMap flags:[inline]' 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 flags:[] + correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL flags:[delegated,var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL 'getValue(Any?, KProperty<*>) on MutableMap: V1' type=kotlin.Int origin=null + 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 : kotlin.Int : kotlin.Int - $receiver: GET_FIELD '`test8$delegate`: HashMap /* = HashMap */' type=java.util.HashMap origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private flags:[final,static]' type=java.util.HashMap origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'test8: 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:test8 visibility:public modality:FINAL flags:delegated,var - VALUE_PARAMETER name: index:0 type:kotlin.Int flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(Int): Unit' - CALL 'setValue(Any?, KProperty<*>, V) on MutableMap: Unit' type=kotlin.Unit origin=null + 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 : kotlin.Int - $receiver: GET_FIELD '`test8$delegate`: HashMap /* = HashMap */' type=java.util.HashMap origin=null + $receiver: GET_FIELD 'FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private flags:[final,static]' type=java.util.HashMap origin=null thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'test8: 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: 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 diff --git a/compiler/testData/ir/irText/declarations/parameters/class.txt b/compiler/testData/ir/irText/declarations/parameters/class.txt index 1768b2877b5..a9f911e19a6 100644 --- a/compiler/testData/ir/irText/declarations/parameters/class.txt +++ b/compiler/testData/ir/irText/declarations/parameters/class.txt @@ -1,95 +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 flags: + CLASS INTERFACE name:TestInterface modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInterface<.TestInterface.T> flags:[] 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 flags: + 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:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags: + 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:[] TYPE_PARAMETER name:T0 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:Test flags:primary + CONSTRUCTOR visibility:public <> () returnType:.Test<.Test.T0> flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test' - CLASS CLASS name:TestNested modality:FINAL visibility:public flags: superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test.TestNested flags: + 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:[] TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:Test.TestNested flags:primary + CONSTRUCTOR visibility:public <> () returnType:.Test.TestNested<.Test.TestNested.T1> flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestNested' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags: + 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:[] TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> ($this:Test) returnType:Test.TestInner flags:primary - $outer: VALUE_PARAMETER name: type:Test flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestInner' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/parameters/constructor.txt b/compiler/testData/ir/irText/declarations/parameters/constructor.txt index 9c06bceeb98..a73aabd9db2 100644 --- a/compiler/testData/ir/irText/declarations/parameters/constructor.txt +++ b/compiler/testData/ir/irText/declarations/parameters/constructor.txt @@ -1,209 +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 flags: + 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:[] TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:T1, y:T2) returnType:Test1 flags:primary - VALUE_PARAMETER name:x index:0 type:T1 flags: - VALUE_PARAMETER name:y index:1 type:T2 flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - PROPERTY name:x visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:x type:T1 visibility:public flags:final + 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: T1' type=T1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test1) returnType:T1 flags: - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Test1 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): T1' - GET_FIELD 'x: T1' type=T1 origin=null - receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null - PROPERTY name:y visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:y type:T2 visibility:public flags:final + 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] EXPRESSION_BODY - GET_VAR 'value-parameter y: T2' type=T2 origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test1) returnType:T2 flags: - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Test1 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): T2' - GET_FIELD 'y: T2' type=T2 origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test2' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter y: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'y: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@Test2: Test2' 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 flags: + 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:[] TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> ($this:Test2, z:Z) returnType:Test2.TestInner flags:primary - $outer: VALUE_PARAMETER name: type:Test2 flags: - VALUE_PARAMETER name:z index:0 type:Z flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestInner' - PROPERTY name:z visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:z type:Z visibility:public flags:final + 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] EXPRESSION_BODY - GET_VAR 'value-parameter z: Z' type=Z origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test2.TestInner) returnType:Z flags: - correspondingProperty: PROPERTY name:z visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Test2.TestInner flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Z' - GET_FIELD 'z: Z' type=Z origin=null - receiver: GET_VAR 'this@TestInner: TestInner' type=Test2.TestInner origin=null - CONSTRUCTOR visibility:public <> ($this:Test2, z:Z, i:kotlin.Int) returnType:Test2.TestInner flags: - $outer: VALUE_PARAMETER name: type:Test2 flags: - VALUE_PARAMETER name:z index:0 type:Z flags: - VALUE_PARAMETER name:i index:1 type:kotlin.Int flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor TestInner(Z)' - : Z - $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null - z: GET_VAR 'value-parameter z: Z' type=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 '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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] EXPRESSION_BODY CONST String type=kotlin.String value="" BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test3' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test3: Test3' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter y: String = ...' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'y: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@Test3: Test3' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:Test4 flags:primary - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags: + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test4<.Test4.T> flags:[primary] + VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test4' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test4) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Test4 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test4: Test4' type=Test4 origin=null - CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:Test4 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='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:[] EXPRESSION_BODY CONST Int type=kotlin.Int value=42 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Test4(Int)' - : T - x: CALL 'plus(Int): Int' type=kotlin.Int origin=PLUS - $this: GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null - other: GET_VAR 'value-parameter y: 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: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.txt b/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.txt index d7e2e4bea1f..e199d8794ad 100644 --- a/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.txt +++ b/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.txt @@ -1,157 +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 flags: + CLASS CLASS name:Test modality:FINAL visibility:public flags:[data] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test<.Test.T> flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:T, y:kotlin.String) returnType:Test flags:primary - VALUE_PARAMETER name:x index:0 type:T flags: - VALUE_PARAMETER name:y index:1 type:kotlin.String flags: + 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:[] EXPRESSION_BODY CONST String type=kotlin.String value="" BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test' - PROPERTY name:x visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:x type:T visibility:public flags:final + 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: T' type=T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test) returnType:T flags: - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Test flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): T' - GET_FIELD 'x: T' type=T origin=null - receiver: GET_VAR 'this@Test: Test' type=Test 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter y: String = ...' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test) returnType:kotlin.String flags: - correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Test flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'y: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@Test: Test' type=Test origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:Test) returnType:T flags: - $this: VALUE_PARAMETER name: type:Test flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1(): T' - CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Test: Test' type=Test origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:Test) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:Test flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component2(): String' - CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@Test: Test' type=Test origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:Test, x:T, y:kotlin.String) returnType:Test flags: - $this: VALUE_PARAMETER name: type:Test flags: - VALUE_PARAMETER name:x index:0 type:T flags: + 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:[] EXPRESSION_BODY - CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Test: Test' type=Test origin=null - VALUE_PARAMETER name:y index:1 type:kotlin.String 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 + VALUE_PARAMETER name:y index:1 type:kotlin.String flags:[] EXPRESSION_BODY - CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@Test: Test' type=Test origin=null + 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 BLOCK_BODY - RETURN type=kotlin.Nothing from='copy(T = ..., String = ...): Test' - CALL 'constructor Test(T, String = ...)' type=Test origin=null - : T - x: GET_VAR 'value-parameter x: T = ...' type=T origin=null - y: GET_VAR 'value-parameter y: String = ...' type=kotlin.String origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:Test) returnType:kotlin.String flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test<.Test.T> flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Test<.Test.T>) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test(" CONST String type=kotlin.String value="x=" - CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Test: Test' type=Test origin=null + 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 CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="y=" - CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@Test: Test' type=Test origin=null + 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 CONST String type=kotlin.String value=")" - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:Test) returnType:kotlin.Int flags: + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Test<.Test.T>) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test<.Test.T> flags:[] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ + SET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ BLOCK type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:T flags:val - CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Test: Test' type=Test 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 WHEN type=kotlin.Int origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp1: T' type=T origin=null + 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 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 'hashCode(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp1: T' type=T origin=null - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + 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 other: CONST Int type=kotlin.Int value=31 - other: CALL 'hashCode(): Int' type=kotlin.Int origin=null - $this: CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@Test: Test' type=Test origin=null - RETURN type=kotlin.Nothing from='hashCode(): Int' - GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:Test, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Test<.Test.T> flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'this@Test: Test' type=Test origin=null - arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 - typeOperand: CLASS CLASS name:Test modality:FINAL visibility:public flags:data superTypes:[kotlin.Any] - GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test flags:val - TYPE_OP type=Test origin=CAST typeOperand=Test - typeOperand: CLASS CLASS name:Test modality:FINAL visibility:public flags:data superTypes:[kotlin.Any] - GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Test: Test' type=Test origin=null - arg1: CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test' type=Test origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@Test: Test' type=Test origin=null - arg1: CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: Test' type=Test origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 be92cc1a7d3..b3df4ac837e 100644 --- a/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.txt +++ b/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.txt @@ -1,129 +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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test1: Int' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test2: Int' 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='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:[] BLOCK_BODY - SET_FIELD 'test2: Int' type=kotlin.Unit origin=null - value: GET_VAR 'value-parameter : Int' 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Host' - 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 '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] 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 flags:[] + correspondingProperty: PROPERTY name:testMember1 visibility:public modality:FINAL flags:[val] + $this: VALUE_PARAMETER name: type:.Host flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'testMember1: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Host: Host' 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='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:[] 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 flags:[] + correspondingProperty: PROPERTY name:testMember2 visibility:public modality:FINAL flags:[var] + $this: VALUE_PARAMETER name: type:.Host flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'testMember2: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Host: Host' 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='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:[] BLOCK_BODY - SET_FIELD 'testMember2: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@Host: Host' type=Host 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags: + 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:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (testInPrimaryCtor1:T, testInPrimaryCtor2:kotlin.Int) returnType:InPrimaryCtor flags:primary - VALUE_PARAMETER name:testInPrimaryCtor1 index:0 type:T flags: - VALUE_PARAMETER name:testInPrimaryCtor2 index:1 type:kotlin.Int flags: + 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:[] EXPRESSION_BODY CONST Int type=kotlin.Int value=42 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='InPrimaryCtor' - PROPERTY name:testInPrimaryCtor1 visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor1 type:T visibility:public flags:final + 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] EXPRESSION_BODY - GET_VAR 'value-parameter testInPrimaryCtor1: T' type=T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:InPrimaryCtor) returnType:T flags: - correspondingProperty: PROPERTY name:testInPrimaryCtor1 visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:InPrimaryCtor flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): T' - GET_FIELD 'testInPrimaryCtor1: T' type=T origin=null - receiver: GET_VAR 'this@InPrimaryCtor: InPrimaryCtor' type=InPrimaryCtor 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='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:[] EXPRESSION_BODY - GET_VAR 'value-parameter testInPrimaryCtor2: Int = ...' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:InPrimaryCtor) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:testInPrimaryCtor2 visibility:public modality:FINAL flags:var - $this: VALUE_PARAMETER name: type:InPrimaryCtor flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'testInPrimaryCtor2: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@InPrimaryCtor: InPrimaryCtor' type=InPrimaryCtor origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:InPrimaryCtor, :kotlin.Int) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:testInPrimaryCtor2 visibility:public modality:FINAL flags:var - $this: VALUE_PARAMETER name: type:InPrimaryCtor flags: - VALUE_PARAMETER name: index:0 type:kotlin.Int flags: + 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:[] BLOCK_BODY - SET_FIELD 'testInPrimaryCtor2: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@InPrimaryCtor: InPrimaryCtor' type=InPrimaryCtor 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.txt b/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.txt index 5e400b4befc..44f7ff5500d 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 flags: + CLASS INTERFACE name:IBase modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBase<.IBase.T> flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - FUN name:foo visibility:public modality:ABSTRACT <> ($this:IBase, x:kotlin.Int) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:IBase 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) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT flags:val - $this: VALUE_PARAMETER name: type:IBase flags: - FUN name:qux visibility:public modality:ABSTRACT ($this:IBase, t:T, x:X) returnType:kotlin.Unit flags: + 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:[] TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:IBase flags: - VALUE_PARAMETER name:t index:0 type:T flags: - VALUE_PARAMETER name:x index:1 type: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.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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test flags: + 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:[] TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (impl:IBase) returnType:Test flags:primary - VALUE_PARAMETER name:impl index:0 type:IBase flags: + CONSTRUCTOR visibility:public <> (impl:.IBase<.Test.TT>) returnType:.Test<.Test.TT> flags:[primary] + VALUE_PARAMETER name:impl index:0 type:.IBase<.Test.TT> flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test' - FIELD DELEGATE name:Test$IBase$delegate type:IBase visibility:private flags:final + 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] EXPRESSION_BODY - GET_VAR 'value-parameter impl: IBase' type=IBase origin=null - FUN DELEGATED_MEMBER name:qux visibility:public modality:OPEN ($this:Test, t:TT, x:X) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN name:qux visibility:public modality:ABSTRACT ($this:IBase, t:T, x:X) returnType:kotlin.Unit flags: + FUN name:qux visibility:public modality:ABSTRACT ($this:.IBase<.IBase.T>, t:.IBase.T, x:.IBase.qux.X) returnType:kotlin.Unit flags:[] TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:Test flags: - VALUE_PARAMETER name:t index:0 type:TT flags: - VALUE_PARAMETER name:x index:1 type:X flags: + $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:[] BLOCK_BODY - CALL 'qux(T, X): Unit' type=kotlin.Unit origin=null - : X - $this: GET_FIELD '`Test$IBase$delegate`: IBase' type=IBase origin=null - receiver: GET_VAR 'this@Test: Test' type=Test origin=null - t: GET_VAR 'value-parameter t: T' type=TT origin=null - x: GET_VAR 'value-parameter x: X' type=X origin=null - FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:Test, x:kotlin.Int) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN name:foo visibility:public modality:ABSTRACT <> ($this:IBase, x:kotlin.Int) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:Test flags: - VALUE_PARAMETER name:x index:0 type:kotlin.Int flags: + 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:[] BLOCK_BODY - CALL 'foo(Int): Unit' type=kotlin.Unit origin=null - $this: GET_FIELD '`Test$IBase$delegate`: IBase' type=IBase origin=null - receiver: GET_VAR 'this@Test: Test' type=Test origin=null - x: GET_VAR 'value-parameter x: Int' 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) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY DELEGATED_MEMBER name:bar visibility:public modality:OPEN flags:val + 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] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IBase) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:Test flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - CALL '(): Int' type=kotlin.Int origin=null - $this: GET_FIELD '`Test$IBase$delegate`: IBase' type=IBase origin=null - receiver: GET_VAR 'this@Test: Test' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/parameters/fun.txt b/compiler/testData/ir/irText/declarations/parameters/fun.txt index 0ef0e1c4f79..d2eba230741 100644 --- a/compiler/testData/ir/irText/declarations/parameters/fun.txt +++ b/compiler/testData/ir/irText/declarations/parameters/fun.txt @@ -1,55 +1,54 @@ FILE fqName: fileName:/fun.kt - FUN name:test1 visibility:public modality:FINAL (i:kotlin.Int, j:T) returnType:kotlin.Unit flags: + FUN name:test1 visibility:public modality:FINAL (i:kotlin.Int, j:.test1.T) returnType:kotlin.Unit flags:[] 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:T flags: + VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] + VALUE_PARAMETER name:j index:1 type:.test1.T flags:[] 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 flags:[] + VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] 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 flags:[] 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 flags:[] + VALUE_PARAMETER name:args index:0 type:kotlin.Array varargElementType:kotlin.String flags:[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 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:[] 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Host flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Host' - 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 '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:[] BLOCK_BODY - FUN name:testMembetExt2 visibility:public modality:FINAL ($this:Host, $receiver:kotlin.String, i:kotlin.Int, j:T) returnType:kotlin.Unit flags: + FUN name:testMembetExt2 visibility:public modality:FINAL ($this:.Host, $receiver:kotlin.String, i:kotlin.Int, j:.Host.testMembetExt2.T) returnType:kotlin.Unit flags:[] 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:T 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:.Host.testMembetExt2.T flags:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.txt b/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.txt index b2124a670d2..2b0019bc350 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 flags: + CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer<.Outer.T1> flags:[] TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:Outer flags:primary + CONSTRUCTOR visibility:public <> () returnType:.Outer<.Outer.T1> flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Outer' - CLASS CLASS name:Inner modality:FINAL visibility:public flags:inner superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Outer.Inner flags: + 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:[] TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> ($this:Outer) returnType:Outer.Inner flags:primary - $outer: VALUE_PARAMETER name: type:Outer flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Inner' - FUN name:foo visibility:public modality:FINAL <> ($this:Outer.Inner, x1:T1, x2:T2) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:Outer.Inner flags: - VALUE_PARAMETER name:x1 index:0 type:T1 flags: - VALUE_PARAMETER name:x2 index:1 type:T2 flags: + 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:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/parameters/lambdas.txt b/compiler/testData/ir/irText/declarations/parameters/lambdas.txt index 2dd5180581d..cc53db2df9b 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function1 visibility:public flags:[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 flags:[] + VALUE_PARAMETER name:it index:0 type:kotlin.String flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(String): String' - GET_VAR 'value-parameter it: String' type=kotlin.String origin=null - FUNCTION_REFERENCE '(String): String' 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='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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): (String) -> String' - GET_FIELD 'test1: (String) -> String' type=kotlin.Function1 origin=null - PROPERTY name:test2 visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:test2 type:@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 visibility:public flags:final,static + 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] EXPRESSION_BODY - BLOCK type=@[CALL 'constructor 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 flags: - $receiver: VALUE_PARAMETER name: type:kotlin.Any flags: - VALUE_PARAMETER name:it index:0 type:kotlin.Any flags: + 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_BODY - RETURN type=kotlin.Nothing from='(Any) on Any: Int' - CALL 'hashCode(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter it: Any' type=kotlin.Any origin=null - FUNCTION_REFERENCE '(Any) on Any: Int' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 origin=LAMBDA - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function2 flags: - correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:val + 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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Any.(Any) -> Any' - GET_FIELD 'test2: Any.(Any) -> Any' type=@[CALL 'constructor ExtensionFunctionType()' 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='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] 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 flags:[] + VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] + VALUE_PARAMETER name:j index:1 type:kotlin.Int flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(Int, Int): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - FUNCTION_REFERENCE '(Int, Int): Unit' 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='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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): (Int, Int) -> Unit' - GET_FIELD 'test3: (Int, Int) -> Unit' 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='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] 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 flags:[] + VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] + VALUE_PARAMETER name:j index:1 type:kotlin.Int flags:[] BLOCK_BODY - FUNCTION_REFERENCE '(Int, Int): Unit' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): (Int, Int) -> Unit' - GET_FIELD 'test4: (Int, Int) -> Unit' type=kotlin.Function2 origin=null + 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 diff --git a/compiler/testData/ir/irText/declarations/parameters/localFun.txt b/compiler/testData/ir/irText/declarations/parameters/localFun.txt index fa8bcb45e72..ce185cb2696 100644 --- a/compiler/testData/ir/irText/declarations/parameters/localFun.txt +++ b/compiler/testData/ir/irText/declarations/parameters/localFun.txt @@ -1,26 +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 flags:[] TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] BLOCK_BODY - FUN name:test1 visibility:local modality:FINAL (i:kotlin.Int, j:T) returnType:kotlin.Unit flags: + FUN name:test1 visibility:local modality:FINAL (i:kotlin.Int, j:.outer.test1.T) returnType:kotlin.Unit flags:[] 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:T flags: + VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] + VALUE_PARAMETER name:j index:1 type:.outer.test1.T flags:[] 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 flags:[] + VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] 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 flags:[] 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 flags:[] + VALUE_PARAMETER name:args index:0 type:kotlin.Array varargElementType:kotlin.String flags:[vararg] BLOCK_BODY - FUN name:textExt1 visibility:local modality:FINAL <> ($receiver:kotlin.String, i:kotlin.Int, j: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:TT flags: + 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:[] BLOCK_BODY - diff --git a/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.txt b/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.txt index fdcd1e7f667..7796d525f57 100644 --- a/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.txt +++ b/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.txt @@ -1,145 +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 flags:[val] + FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 flags:[var] + FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 flags:[] + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[var] + VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on String: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:[]' 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on String: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:[]' 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 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:[] 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 flags:[val] + FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Int flags:[] + correspondingProperty: PROPERTY name:testExt3 visibility:public modality:FINAL flags:[val] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:T flags: + $receiver: VALUE_PARAMETER name: type:..T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on T: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Int flags:[]' 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 flags:[var] + FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Int flags:[] + correspondingProperty: PROPERTY name:testExt4 visibility:public modality:FINAL flags:[var] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:T flags: + $receiver: VALUE_PARAMETER name: type:..T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on T: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:kotlin.Int flags:[]' 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, value:kotlin.Int) returnType:kotlin.Unit flags:[] + correspondingProperty: PROPERTY name:testExt4 visibility:public modality:FINAL flags:[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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:[] BLOCK_BODY - CLASS CLASS name:Host modality:FINAL visibility:public flags: superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Host flags: + CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host<.Host.T> flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:Host flags:primary + CONSTRUCTOR visibility:public <> () returnType:.Host<.Host.T> flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Host' - PROPERTY name:testMem1 visibility:public modality:FINAL flags:val - FUN name: visibility:public modality:FINAL <> ($this:Host) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:testMem1 visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Host flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>) returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=42 - PROPERTY name:testMem2 visibility:public modality:FINAL flags:var - FUN name: visibility:public modality:FINAL <> ($this:Host) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:testMem2 visibility:public modality:FINAL flags:var - $this: VALUE_PARAMETER name: type:Host flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>) returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=42 - FUN name: visibility:public modality:FINAL <> ($this:Host, value:kotlin.Int) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:testMem2 visibility:public modality:FINAL flags:var - $this: VALUE_PARAMETER name: type:Host flags: - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags: + 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:[] BLOCK_BODY - PROPERTY name:testMemExt1 visibility:public modality:FINAL flags:val - FUN name: visibility:public modality:FINAL <> ($this:Host, $receiver:kotlin.String) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:testMemExt1 visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Host flags: - $receiver: VALUE_PARAMETER name: type:kotlin.String flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on String: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>, $receiver:kotlin.String) returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=42 - PROPERTY name:testMemExt2 visibility:public modality:FINAL flags:var - FUN name: visibility:public modality:FINAL <> ($this:Host, $receiver:kotlin.String) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:testMemExt2 visibility:public modality:FINAL flags:var - $this: VALUE_PARAMETER name: type:Host flags: - $receiver: VALUE_PARAMETER name: type:kotlin.String flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on String: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.Host<.Host.T>, $receiver:kotlin.String) returnType:kotlin.Int flags:[]' 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:testMemExt2 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<.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:[] BLOCK_BODY - PROPERTY name:testMemExt3 visibility:public modality:FINAL flags:val - FUN name: visibility:public modality:FINAL ($this:Host, $receiver:TT) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:testMemExt3 visibility:public modality:FINAL flags:val + 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] TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:Host flags: - $receiver: VALUE_PARAMETER name: type:TT flags: + $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] + $receiver: VALUE_PARAMETER name: type:.Host..TT flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on TT: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($this:.Host<.Host.T>, $receiver:.Host..TT) returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=42 - PROPERTY name:testMemExt4 visibility:public modality:FINAL flags:var - FUN name: visibility:public modality:FINAL ($this:Host, $receiver:TT) returnType:kotlin.Int flags: - correspondingProperty: PROPERTY name:testMemExt4 visibility:public modality:FINAL flags:var + 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] TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:Host flags: - $receiver: VALUE_PARAMETER name: type:TT flags: + $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] + $receiver: VALUE_PARAMETER name: type:.Host..TT flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on TT: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($this:.Host<.Host.T>, $receiver:.Host..TT) returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=42 - FUN name: visibility:public modality:FINAL ($this:Host, $receiver: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.T>, $receiver:.Host..TT, value:kotlin.Int) returnType:kotlin.Unit flags:[] + correspondingProperty: PROPERTY name:testMemExt4 visibility:public modality:FINAL flags:[var] TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:Host flags: - $receiver: VALUE_PARAMETER name: type:TT flags: - VALUE_PARAMETER name:value index:0 type:kotlin.Int flags: + $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:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.txt b/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.txt index f867ffaf1ff..364fa1a4227 100644 --- a/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.txt +++ b/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.txt @@ -1,41 +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 flags: - TYPE_PARAMETER name:T index:0 variance: superTypes:[U] + 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] TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:Test1 flags:primary + CONSTRUCTOR visibility:public <> () returnType:.Test1<.Test1.T, .Test1.U> flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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:[U] + 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] 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) 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 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] TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:Test1 flags: + $receiver: VALUE_PARAMETER name: type:.Test1<..T, ..U> flags:[] BLOCK_BODY - FUN name: visibility:public modality:FINAL ($receiver:Test1, 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<..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] TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:Test1 flags: - VALUE_PARAMETER name:value index:0 type:kotlin.Unit flags: + $receiver: VALUE_PARAMETER name: type:.Test1<..T, ..U> flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.Unit flags:[] BLOCK_BODY - diff --git a/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.txt b/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.txt index de269db709f..4e082359e8d 100644 --- a/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.txt +++ b/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.txt @@ -1,91 +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 flags: - TYPE_PARAMETER name:T index:0 variance: superTypes:[Derived1] - CONSTRUCTOR visibility:public <> () returnType:Base1 flags:primary + CLASS CLASS name:Base1 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base1<.Base1.T> flags:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.Derived1] + CONSTRUCTOR visibility:public <> () returnType:.Base1<.Base1.T> flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Base1' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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] - $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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base1()' - : Derived1 - INSTANCE_INITIALIZER_CALL classDescriptor='Derived1' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> () returnType:.Base1<.Base1.T> flags:[primary]' + : .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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Base2' - FUN name:foo visibility:public modality:FINAL ($this:Base2, x:T) returnType:kotlin.Unit flags: - TYPE_PARAMETER name:T index:0 variance: superTypes:[Derived2] - $this: VALUE_PARAMETER name: type:Base2 flags: - VALUE_PARAMETER name:x index:0 type:T flags: + 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:[] + 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:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base2()' - INSTANCE_INITIALIZER_CALL classDescriptor='Derived2' - FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL ($this:Base2, x:T) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN name:foo visibility:public modality:FINAL ($this:Base2, x:T) returnType:kotlin.Unit flags: - TYPE_PARAMETER name:T index:0 variance: superTypes:[Derived2] - $this: VALUE_PARAMETER name: type:Base2 flags: - VALUE_PARAMETER name:x index:0 type:T 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:.Base2, x:.Base2.foo.T) returnType:kotlin.Unit flags:[] + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/primaryCtorDefaultArguments.txt b/compiler/testData/ir/irText/declarations/primaryCtorDefaultArguments.txt index 9583fd86764..fddc4648a06 100644 --- a/compiler/testData/ir/irText/declarations/primaryCtorDefaultArguments.txt +++ b/compiler/testData/ir/irText/declarations/primaryCtorDefaultArguments.txt @@ -1,35 +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 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:[] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int = ...' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Test: Test' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/primaryCtorProperties.txt b/compiler/testData/ir/irText/declarations/primaryCtorProperties.txt index f37863e9efb..a7602fb988a 100644 --- a/compiler/testData/ir/irText/declarations/primaryCtorProperties.txt +++ b/compiler/testData/ir/irText/declarations/primaryCtorProperties.txt @@ -1,53 +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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter test1: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test1: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' 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='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:[] EXPRESSION_BODY - GET_VAR 'value-parameter test2: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test2: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' 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='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:[] BLOCK_BODY - SET_FIELD 'test2: 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/provideDelegate/differentReceivers.txt b/compiler/testData/ir/irText/declarations/provideDelegate/differentReceivers.txt index 3b7cf6d29c8..028be1ff3cb 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/differentReceivers.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/differentReceivers.txt @@ -1,87 +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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='MyClass' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter value: String' 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_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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'value: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@MyClass: MyClass' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='provideDelegate(Any?, Any) on MyClass: String' - CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@provideDelegate: MyClass' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='getValue(Any?, Any) on String: String' - GET_VAR 'this@getValue: String' 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='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] EXPRESSION_BODY - CALL 'provideDelegate(Any?, Any) on MyClass: String' type=kotlin.String origin=null - $receiver: CALL 'constructor MyClass(String)' type=MyClass origin=null + 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 value: CONST String type=kotlin.String value="O" host: CONST Null type=kotlin.Nothing? value=null - p: PROPERTY_REFERENCE 'testO: String' field=null getter='(): String' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - CALL 'getValue(Any?, Any) on String: String' type=kotlin.String origin=null - $receiver: GET_FIELD '`testO$delegate`: String' type=kotlin.String origin=null + 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 receiver: CONST Null type=kotlin.Nothing? value=null - p: PROPERTY_REFERENCE 'testO: String' field=null getter='(): String' 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 '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] 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 flags:[] + correspondingProperty: PROPERTY name:testK visibility:public modality:FINAL flags:[delegated,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - CALL 'getValue(Any?, Any) on String: String' type=kotlin.String origin=null - $receiver: GET_FIELD '`testK$delegate`: String' type=kotlin.String origin=null + 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 receiver: CONST Null type=kotlin.Nothing? value=null - p: PROPERTY_REFERENCE 'testK: String' field=null getter='(): String' 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 '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] EXPRESSION_BODY - CALL 'plus(Any?): String' type=kotlin.String origin=PLUS - $this: CALL '(): String' type=kotlin.String origin=GET_PROPERTY - other: CALL '(): String' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'testOK: String' type=kotlin.String origin=null - + 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 diff --git a/compiler/testData/ir/irText/declarations/provideDelegate/local.txt b/compiler/testData/ir/irText/declarations/provideDelegate/local.txt index 62033af9316..72d2e516dbc 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/local.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/local.txt @@ -1,97 +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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Delegate' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter value: String' 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_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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'value: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@Delegate: Delegate' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='getValue(Any?, Any?): String' - CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@Delegate: Delegate' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='DelegateProvider' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter value: String' 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_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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'value: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@DelegateProvider: DelegateProvider' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='provideDelegate(Any?, Any?): Delegate' - CALL 'constructor Delegate(String)' type=Delegate origin=null - value: CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@DelegateProvider: DelegateProvider' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] BLOCK_BODY LOCAL_DELEGATED_PROPERTY name:testMember type:kotlin.String flags:val - VAR DELEGATE name:testMember$delegate type:Delegate flags:val - CALL 'provideDelegate(Any?, Any?): Delegate' type=Delegate origin=null - $this: CALL 'constructor DelegateProvider(String)' type=DelegateProvider origin=null + 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 value: CONST String type=kotlin.String value="OK" thisRef: CONST Null type=kotlin.Nothing? value=null - property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testMember: String' delegate='`testMember$delegate`: Delegate' getter='(): String' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - CALL 'getValue(Any?, Any?): String' type=kotlin.String origin=null - $this: GET_VAR '`testMember$delegate`: Delegate' type=Delegate origin=null + 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 thisRef: CONST Null type=kotlin.Nothing? value=null - property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testMember: String' delegate='`testMember$delegate`: Delegate' getter='(): String' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - + 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 diff --git a/compiler/testData/ir/irText/declarations/provideDelegate/localDifferentReceivers.txt b/compiler/testData/ir/irText/declarations/provideDelegate/localDifferentReceivers.txt index c83fe71a9ff..e6b4e8df283 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/localDifferentReceivers.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/localDifferentReceivers.txt @@ -1,80 +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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='MyClass' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter value: String' 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_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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'value: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@MyClass: MyClass' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='provideDelegate(Any?, Any) on MyClass: String' - CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@provideDelegate: MyClass' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='getValue(Any?, Any) on String: String' - GET_VAR 'this@getValue: String' type=kotlin.String origin=null - FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags: + 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:[] BLOCK_BODY LOCAL_DELEGATED_PROPERTY name:testO type:kotlin.String flags:val - VAR DELEGATE name:testO$delegate type:kotlin.String flags:val - CALL 'provideDelegate(Any?, Any) on MyClass: String' type=kotlin.String origin=null - $receiver: CALL 'constructor MyClass(String)' type=MyClass origin=null + 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 value: CONST String type=kotlin.String value="O" host: CONST Null type=kotlin.Nothing? value=null - p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testO: String' delegate='`testO$delegate`: String' getter='(): String' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - CALL 'getValue(Any?, Any) on String: String' type=kotlin.String origin=null - $receiver: GET_VAR '`testO$delegate`: String' type=kotlin.String origin=null + 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 receiver: CONST Null type=kotlin.Nothing? value=null - p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testO: String' delegate='`testO$delegate`: String' getter='(): String' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE + 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 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 flags:[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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - CALL 'getValue(Any?, Any) on String: String' type=kotlin.String origin=null - $receiver: GET_VAR '`testK$delegate`: String' type=kotlin.String origin=null + 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 receiver: CONST Null type=kotlin.Nothing? value=null - p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testK: String' delegate='`testK$delegate`: String' getter='(): String' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - VAR name:testOK type:kotlin.String flags:val - CALL 'plus(Any?): String' type=kotlin.String origin=PLUS - $this: CALL '(): String' type=kotlin.String origin=GET_LOCAL_PROPERTY - other: CALL '(): String' type=kotlin.String origin=GET_LOCAL_PROPERTY - RETURN type=kotlin.Nothing from='box(): String' - GET_VAR 'testOK: String' type=kotlin.String origin=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 diff --git a/compiler/testData/ir/irText/declarations/provideDelegate/member.txt b/compiler/testData/ir/irText/declarations/provideDelegate/member.txt index b01f848ca12..ae768382e3d 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/member.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/member.txt @@ -1,118 +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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Delegate' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter value: String' 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_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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'value: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@Delegate: Delegate' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='getValue(Any?, Any?): String' - CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@Delegate: Delegate' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='DelegateProvider' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter value: String' 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_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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'value: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@DelegateProvider: DelegateProvider' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='provideDelegate(Any?, Any?): Delegate' - CALL 'constructor Delegate(String)' type=Delegate origin=null - value: CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@DelegateProvider: DelegateProvider' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Host' - PROPERTY name:testMember visibility:public modality:FINAL flags:delegated,val - FIELD DELEGATE name:testMember$delegate type:Delegate visibility:private flags:final + 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] EXPRESSION_BODY - CALL 'provideDelegate(Any?, Any?): Delegate' type=Delegate origin=null - $this: CALL 'constructor DelegateProvider(String)' type=DelegateProvider origin=null + 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 value: CONST String type=kotlin.String value="OK" - thisRef: GET_VAR 'this@Host: Host' type=Host origin=null - property: PROPERTY_REFERENCE 'testMember: String' field=null getter='(): String' setter=null type=kotlin.reflect.KProperty1 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - CALL 'getValue(Any?, Any?): String' type=kotlin.String origin=null - $this: GET_FIELD '`testMember$delegate`: Delegate' type=Delegate origin=null - receiver: GET_VAR 'this@Host: Host' type=Host origin=null - thisRef: GET_VAR 'this@Host: Host' type=Host origin=null - property: PROPERTY_REFERENCE 'testMember: String' field=null getter='(): String' setter=null type=kotlin.reflect.KProperty1 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/provideDelegate/memberExtension.txt b/compiler/testData/ir/irText/declarations/provideDelegate/memberExtension.txt index 2e22ddfac90..f45393386c2 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] + CONSTRUCTOR visibility:private <> () returnType:.Host flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Host' - 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 '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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='StringDelegate' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter s: String' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 's: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@StringDelegate: 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 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='getValue(String, Any): String' - CALL 'plus(Any?): String' type=kotlin.String origin=PLUS - $this: GET_VAR 'value-parameter receiver: String' type=kotlin.String origin=null - other: CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@StringDelegate: StringDelegate' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='provideDelegate(Any?, Any) on String: Host.StringDelegate' - CALL 'constructor StringDelegate(String)' type=Host.StringDelegate origin=null - s: GET_VAR 'this@provideDelegate: String' 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='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] EXPRESSION_BODY - CALL 'provideDelegate(Any?, Any) on String: Host.StringDelegate' type=Host.StringDelegate origin=null - $this: GET_VAR 'this@Host: Host' type=Host origin=null + 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 $receiver: CONST String type=kotlin.String value="K" - host: GET_VAR 'this@Host: Host' type=Host origin=null - p: PROPERTY_REFERENCE 'plusK: String on String' field=null getter='() on String: String' setter=null type=kotlin.reflect.KProperty2 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on String: String' - CALL 'getValue(String, Any): String' type=kotlin.String origin=null - $this: GET_FIELD '`plusK$delegate`: Host.StringDelegate' type=Host.StringDelegate origin=null - receiver: GET_VAR 'this@Host: Host' type=Host origin=null - receiver: GET_VAR 'this@plusK: String' type=kotlin.String origin=null - p: PROPERTY_REFERENCE 'plusK: String on String' field=null getter='() on String: String' setter=null type=kotlin.reflect.KProperty2 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='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] EXPRESSION_BODY - CALL '() on String: String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@Host: Host' type=Host origin=null + 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 $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 flags:[] + correspondingProperty: PROPERTY name:ok visibility:public modality:FINAL flags:[val] + $this: VALUE_PARAMETER name: type:.Host flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'ok: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@Host: Host' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/declarations/provideDelegate/topLevel.txt b/compiler/testData/ir/irText/declarations/provideDelegate/topLevel.txt index cfa364f8465..5695248305f 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/topLevel.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/topLevel.txt @@ -1,97 +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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Delegate' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter value: String' 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_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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'value: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@Delegate: Delegate' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='getValue(Any?, Any?): String' - CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@Delegate: Delegate' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='DelegateProvider' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter value: String' 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_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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'value: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@DelegateProvider: DelegateProvider' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='provideDelegate(Any?, Any?): Delegate' - CALL 'constructor Delegate(String)' type=Delegate origin=null - value: CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@DelegateProvider: DelegateProvider' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] EXPRESSION_BODY - CALL 'provideDelegate(Any?, Any?): Delegate' type=Delegate origin=null - $this: CALL 'constructor DelegateProvider(String)' type=DelegateProvider origin=null + 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 value: CONST String type=kotlin.String value="OK" thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'testTopLevel: String' field=null getter='(): String' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - CALL 'getValue(Any?, Any?): String' type=kotlin.String origin=null - $this: GET_FIELD '`testTopLevel$delegate`: Delegate' type=Delegate origin=null + 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 thisRef: CONST Null type=kotlin.Nothing? value=null - property: PROPERTY_REFERENCE 'testTopLevel: String' field=null getter='(): String' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE - + 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 diff --git a/compiler/testData/ir/irText/declarations/typeAlias.txt b/compiler/testData/ir/irText/declarations/typeAlias.txt index 8b9bf3f9867..ade33f05e2b 100644 --- a/compiler/testData/ir/irText/declarations/typeAlias.txt +++ b/compiler/testData/ir/irText/declarations/typeAlias.txt @@ -1,34 +1,33 @@ FILE fqName: fileName:/typeAlias.kt TYPEALIAS typealias Test1 = String type=kotlin.String - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] BLOCK_BODY TYPEALIAS typealias TestLocal = String type=kotlin.String annotations: - CALL 'constructor Suppress(vararg String)' type=kotlin.Suppress origin=null + CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (names:kotlin.Array) returnType:kotlin.Suppress flags:[primary]' type=kotlin.Suppress origin=null names: VARARG type=kotlin.Array varargElementType=kotlin.String CONST String type=kotlin.String value="TOPLEVEL_TYPEALIASES_ONLY" - 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] + CONSTRUCTOR visibility:public <> () returnType:.C flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' + 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]' TYPEALIAS typealias TestNested = String type=kotlin.String annotations: - CALL 'constructor Suppress(vararg String)' type=kotlin.Suppress origin=null + CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (names:kotlin.Array) returnType:kotlin.Suppress flags:[primary]' type=kotlin.Suppress origin=null names: VARARG type=kotlin.Array varargElementType=kotlin.String CONST String type=kotlin.String value="TOPLEVEL_TYPEALIASES_ONLY" - 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/errors/suppressedNonPublicCall.txt b/compiler/testData/ir/irText/errors/suppressedNonPublicCall.txt index c0b9688bd0e..9e41c23c1c3 100644 --- a/compiler/testData/ir/irText/errors/suppressedNonPublicCall.txt +++ b/compiler/testData/ir/irText/errors/suppressedNonPublicCall.txt @@ -1,29 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] + CONSTRUCTOR visibility:public <> () returnType:.C flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - FUN name:bar visibility:internal modality:FINAL <> ($this:C) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:C flags: + 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:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - CALL 'bar(): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@foo: C' type=C origin=null - + 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 diff --git a/compiler/testData/ir/irText/errors/unresolvedReference.txt b/compiler/testData/ir/irText/errors/unresolvedReference.txt index b8c280aff1b..b12d07ad464 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:ERROR visibility:public flags:[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 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:ERROR flags:[] + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): [ERROR : Type for unresolved]' - GET_FIELD 'test1: [ERROR : Type for unresolved]' 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='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] 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 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:ERROR flags:[] + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): [ERROR : Unresolved]' - GET_FIELD 'test2: [ERROR : Unresolved]' 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='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] EXPRESSION_BODY ERROR_CALL '' type=ERROR 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:ERROR flags:[] + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): [ERROR : Type for 42.unresolved(56)]' - GET_FIELD 'test3: [ERROR : Type for 42.unresolved(56)]' 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='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] 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 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:ERROR flags:[] + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): [ERROR : Type for 42 *]' - GET_FIELD 'test4: [ERROR : Type for 42 *]' type=ERROR origin=null + 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 diff --git a/compiler/testData/ir/irText/expressions/argumentMappedWithError.txt b/compiler/testData/ir/irText/expressions/argumentMappedWithError.txt index 0b0c7200e03..b4396563fc1 100644 --- a/compiler/testData/ir/irText/expressions/argumentMappedWithError.txt +++ b/compiler/testData/ir/irText/expressions/argumentMappedWithError.txt @@ -1,20 +1,19 @@ FILE fqName: fileName:/argumentMappedWithError.kt - FUN name:convert visibility:public modality:FINAL ($receiver:kotlin.Number) returnType:R flags: + FUN name:convert visibility:public modality:FINAL ($receiver:kotlin.Number) returnType:.convert.R flags:[] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='convert() on Number: R' - CALL 'TODO(): Nothing' 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='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:[] 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 flags:[] + VALUE_PARAMETER name:args index:0 type:kotlin.Array flags:[] BLOCK_BODY - VAR name:x type:kotlin.Int flags:val + VAR name:x type:kotlin.Int flags:[val] CONST Int type=kotlin.Int value=0 - CALL 'foo(Number): Unit' type=kotlin.Unit origin=null - arg: CALL 'convert() on Number: R' type=kotlin.Number origin=null + 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 : kotlin.Number - $receiver: GET_VAR 'x: Int' type=kotlin.Int origin=null - + $receiver: GET_VAR 'VAR name:x type:kotlin.Int flags:[val]' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/arrayAccess.txt b/compiler/testData/ir/irText/expressions/arrayAccess.txt index dab624cbe78..d0dcd2f5adb 100644 --- a/compiler/testData/ir/irText/expressions/arrayAccess.txt +++ b/compiler/testData/ir/irText/expressions/arrayAccess.txt @@ -1,30 +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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'p: Int' type=kotlin.Int origin=null - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Int flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(): Int' + RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.IntArray flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(IntArray): Int' - CALL 'plus(Int): Int' type=kotlin.Int origin=PLUS - $this: CALL 'plus(Int): Int' type=kotlin.Int origin=PLUS - $this: CALL 'get(Int): Int' type=kotlin.Int origin=GET_ARRAY_ELEMENT - $this: GET_VAR 'value-parameter a: IntArray' type=kotlin.IntArray origin=null + 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 index: CONST Int type=kotlin.Int value=0 - other: CALL 'get(Int): Int' type=kotlin.Int origin=GET_ARRAY_ELEMENT - $this: GET_VAR 'value-parameter a: IntArray' type=kotlin.IntArray origin=null - index: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - other: CALL 'get(Int): Int' type=kotlin.Int origin=GET_ARRAY_ELEMENT - $this: GET_VAR 'value-parameter a: IntArray' type=kotlin.IntArray origin=null - index: CALL 'foo(): Int' type=kotlin.Int origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/arrayAssignment.txt b/compiler/testData/ir/irText/expressions/arrayAssignment.txt index 10d7f5344fd..7bbb646bee6 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 flags:[] BLOCK_BODY - VAR name:x type:kotlin.IntArray flags:val - CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray origin=null + 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 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 'set(Int, Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_VAR 'x: IntArray' type=kotlin.IntArray 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=EQ + $this: GET_VAR 'VAR name:x type:kotlin.IntArray flags:[val]' 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(): Int' + RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 flags:[] BLOCK_BODY - CALL 'set(Int, Int): Unit' type=kotlin.Unit origin=EQ - $this: CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray 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=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 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 'foo(): Int' type=kotlin.Int origin=null + index: CALL 'FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 9ac03f4447d..a107be443dc 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(): IntArray' - CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray origin=null + 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 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='bar(): Int' + RETURN type=kotlin.Nothing from='FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: IntArray' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): IntArray' - GET_FIELD 'x: IntArray' type=kotlin.IntArray origin=null - receiver: GET_VAR 'this@C: C' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:testVariable visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] BLOCK_BODY - VAR name:x type:kotlin.IntArray flags:var - CALL 'foo(): IntArray' type=kotlin.IntArray origin=null + 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 BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:val - GET_VAR 'x: IntArray' 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 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] CONST Int type=kotlin.Int value=0 - CALL 'set(Int, Int): Unit' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - value: CALL 'plus(Int): Int' type=kotlin.Int origin=PLUSEQ - $this: CALL 'get(Int): Int' type=kotlin.Int origin=PLUSEQ - $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp1_index0: Int' 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=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 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 flags:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=MULTEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:val - CALL 'foo(): IntArray' type=kotlin.IntArray origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Int flags:val - CALL 'bar(): Int' type=kotlin.Int origin=null - CALL 'set(Int, Int): Unit' type=kotlin.Unit origin=MULTEQ - $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - value: CALL 'times(Int): Int' type=kotlin.Int origin=MULTEQ - $this: CALL 'get(Int): Int' type=kotlin.Int origin=MULTEQ - $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null + 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 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 flags:[] + VALUE_PARAMETER name:c index:0 type:.C flags:[] 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 flags:[] superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:val - CALL '(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY - $this: GET_VAR 'value-parameter c: C' 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 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] CONST Int type=kotlin.Int value=0 - VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:val - CALL 'get(Int): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - CALL 'set(Int, Int): Unit' type=kotlin.Unit origin=POSTFIX_INCR - $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - value: CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp2: Int' type=kotlin.Int origin=null - GET_VAR 'tmp2: Int' type=kotlin.Int origin=null + 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 diff --git a/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment2.txt b/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment2.txt index 614a67f2bee..265cb899d68 100644 --- a/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment2.txt +++ b/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment2.txt @@ -1,58 +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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:IA flags:val - GET_VAR 'value-parameter a: IA' 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 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] CONST String type=kotlin.String value="" - CALL 'set(String, Int) on IA: Unit' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'this@test: IB' type=IB origin=null - $receiver: GET_VAR 'tmp0_array: IA' type=IA origin=null - index: GET_VAR 'tmp1_index0: String' type=kotlin.String origin=null - value: CALL 'plus(Int): Int' type=kotlin.Int origin=PLUSEQ - $this: CALL 'get(String): Int' type=kotlin.Int origin=PLUSEQ - $this: GET_VAR 'tmp0_array: IA' type=IA origin=null - index: GET_VAR 'tmp1_index0: String' type=kotlin.String origin=null + 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 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 a9c84b2c3e3..dae592d826a 100644 --- a/compiler/testData/ir/irText/expressions/assignments.txt +++ b/compiler/testData/ir/irText/expressions/assignments.txt @@ -1,57 +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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Ref' - PROPERTY name:x visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags: + 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:[] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Ref: Ref' 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='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:[] BLOCK_BODY - SET_FIELD 'x: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@Ref: Ref' type=Ref 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] BLOCK_BODY - VAR name:x type:kotlin.Int flags:var + VAR name:x type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'x: Int' type=kotlin.Unit origin=EQ + SET_VAR 'VAR name:x type:kotlin.Int flags:[var]' type=kotlin.Unit origin=EQ CONST Int type=kotlin.Int value=1 - SET_VAR 'x: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=PLUS - $this: GET_VAR 'x: Int' type=kotlin.Int origin=null + 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 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 flags:[] + VALUE_PARAMETER name:r index:0 type:.Ref flags:[] BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_VAR 'value-parameter r: Ref' type=Ref origin=null + 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 : 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 5bab9a5d0e3..9c0e13d586d 100644 --- a/compiler/testData/ir/irText/expressions/augmentedAssignment1.txt +++ b/compiler/testData/ir/irText/expressions/augmentedAssignment1.txt @@ -1,68 +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 flags:[var] + FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'p: Int' 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='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:[] BLOCK_BODY - SET_FIELD 'p: Int' type=kotlin.Unit origin=null - value: GET_VAR 'value-parameter : Int' 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 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:[] BLOCK_BODY - VAR name:x type:kotlin.Int flags:var + VAR name:x type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'x: Int' type=kotlin.Unit origin=PLUSEQ - CALL 'plus(Int): Int' type=kotlin.Int origin=PLUSEQ - $this: GET_VAR 'x: Int' type=kotlin.Int origin=PLUSEQ + 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 other: CONST Int type=kotlin.Int value=1 - SET_VAR 'x: Int' type=kotlin.Unit origin=MINUSEQ - CALL 'minus(Int): Int' type=kotlin.Int origin=MINUSEQ - $this: GET_VAR 'x: Int' type=kotlin.Int origin=MINUSEQ + 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 other: CONST Int type=kotlin.Int value=2 - SET_VAR 'x: Int' type=kotlin.Unit origin=MULTEQ - CALL 'times(Int): Int' type=kotlin.Int origin=MULTEQ - $this: GET_VAR 'x: Int' type=kotlin.Int origin=MULTEQ + 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 other: CONST Int type=kotlin.Int value=3 - SET_VAR 'x: Int' type=kotlin.Unit origin=DIVEQ - CALL 'div(Int): Int' type=kotlin.Int origin=DIVEQ - $this: GET_VAR 'x: Int' type=kotlin.Int origin=DIVEQ + 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 other: CONST Int type=kotlin.Int value=4 - SET_VAR 'x: Int' type=kotlin.Unit origin=PERCEQ - CALL 'rem(Int): Int' type=kotlin.Int origin=PERCEQ - $this: GET_VAR 'x: Int' type=kotlin.Int origin=PERCEQ + 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 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 flags:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - CALL '(Int): Unit' type=kotlin.Unit origin=PLUSEQ - : CALL 'plus(Int): Int' type=kotlin.Int origin=PLUSEQ - $this: CALL '(): Int' type=kotlin.Int 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 other: CONST Int type=kotlin.Int value=1 BLOCK type=kotlin.Unit origin=MINUSEQ - CALL '(Int): Unit' type=kotlin.Unit origin=MINUSEQ - : CALL 'minus(Int): Int' type=kotlin.Int origin=MINUSEQ - $this: CALL '(): Int' type=kotlin.Int 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 other: CONST Int type=kotlin.Int value=2 BLOCK type=kotlin.Unit origin=MULTEQ - CALL '(Int): Unit' type=kotlin.Unit origin=MULTEQ - : CALL 'times(Int): Int' type=kotlin.Int origin=MULTEQ - $this: CALL '(): Int' type=kotlin.Int 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 other: CONST Int type=kotlin.Int value=3 BLOCK type=kotlin.Unit origin=DIVEQ - CALL '(Int): Unit' type=kotlin.Unit origin=DIVEQ - : CALL 'div(Int): Int' type=kotlin.Int origin=DIVEQ - $this: CALL '(): Int' type=kotlin.Int 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 other: CONST Int type=kotlin.Int value=4 BLOCK type=kotlin.Unit origin=PERCEQ - CALL '(Int): Unit' type=kotlin.Unit origin=PERCEQ - : CALL 'rem(Int): Int' type=kotlin.Int origin=PERCEQ - $this: CALL '(): Int' type=kotlin.Int 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 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 4a6d52c1b90..5a078617775 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $receiver: VALUE_PARAMETER name: type:.A flags:[] + VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] 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 flags:[] + $receiver: VALUE_PARAMETER name: type:.A flags:[] + VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] 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 flags:[] + $receiver: VALUE_PARAMETER name: type:.A flags:[] + VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] 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 flags:[] + $receiver: VALUE_PARAMETER name: type:.A flags:[] + VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:p type:.A visibility:public flags:[final,static] EXPRESSION_BODY - CALL 'constructor A()' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): A' - GET_FIELD 'p: A' type=A origin=null - FUN name:testVariable visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + 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:[] BLOCK_BODY - VAR name:a type:A flags:val - CALL 'constructor A()' type=A origin=null - CALL 'plusAssign(String) on A: Unit' type=kotlin.Unit origin=PLUSEQ - $receiver: GET_VAR 'a: A' type=A origin=PLUSEQ + 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 s: CONST String type=kotlin.String value="+=" - CALL 'minusAssign(String) on A: Unit' type=kotlin.Unit origin=MINUSEQ - $receiver: GET_VAR 'a: A' type=A 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: GET_VAR 'VAR name:a type:.A flags:[val]' type=.A origin=MINUSEQ s: CONST String type=kotlin.String value="-=" - CALL 'timesAssign(String) on A: Unit' type=kotlin.Unit origin=MULTEQ - $receiver: GET_VAR 'a: A' type=A 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: GET_VAR 'VAR name:a type:.A flags:[val]' type=.A origin=MULTEQ s: CONST String type=kotlin.String value="*=" - CALL 'divAssign(String) on A: Unit' type=kotlin.Unit origin=DIVEQ - $receiver: GET_VAR 'a: A' type=A 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: GET_VAR 'VAR name:a type:.A flags:[val]' type=.A origin=DIVEQ s: CONST String type=kotlin.String value="/=" - CALL 'remAssign(String) on A: Unit' type=kotlin.Unit origin=PERCEQ - $receiver: GET_VAR 'a: A' type=A 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: GET_VAR 'VAR name:a type:.A flags:[val]' 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 flags:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - CALL 'plusAssign(String) on A: Unit' type=kotlin.Unit origin=PLUSEQ - $receiver: CALL '(): A' type=A 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 s: CONST String type=kotlin.String value="+=" BLOCK type=kotlin.Unit origin=MINUSEQ - CALL 'minusAssign(String) on A: Unit' type=kotlin.Unit origin=MINUSEQ - $receiver: CALL '(): A' type=A 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 s: CONST String type=kotlin.String value="-=" BLOCK type=kotlin.Unit origin=MULTEQ - CALL 'timesAssign(String) on A: Unit' type=kotlin.Unit origin=MULTEQ - $receiver: CALL '(): A' type=A 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 s: CONST String type=kotlin.String value="*=" BLOCK type=kotlin.Unit origin=DIVEQ - CALL 'divAssign(String) on A: Unit' type=kotlin.Unit origin=DIVEQ - $receiver: CALL '(): A' type=A 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 s: CONST String type=kotlin.String value="/=" BLOCK type=kotlin.Unit origin=PERCEQ - CALL 'remAssign(String) on A: Unit' type=kotlin.Unit origin=PERCEQ - $receiver: CALL '(): A' type=A 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 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 594a808c798..f24efc63d66 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Host flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Host' - 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 '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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Host flags:[] BLOCK_BODY - CALL 'plusAssign(Int): Unit' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'this@Host: Host' type=Host origin=PLUSEQ + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:foo visibility:public modality:FINAL <> () returnType:.Host flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(): Host' - CALL 'constructor Host()' 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='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:[] BLOCK_BODY - CALL 'plusAssign(Int): Unit' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'this@test2: Host' type=Host origin=PLUSEQ + 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 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 flags:[] BLOCK_BODY - CALL 'plusAssign(Int): Unit' type=kotlin.Unit origin=PLUSEQ - $this: CALL 'foo(): Host' type=Host origin=null + 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 x: CONST Int type=kotlin.Int value=1 - FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:kotlin.Unit flags: - VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags: + 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:[] BLOCK_BODY - CALL 'plusAssign(Int): Unit' type=kotlin.Unit origin=PLUSEQ - $this: CALL 'invoke(): R' type=Host origin=INVOKE - $this: GET_VAR 'value-parameter a: () -> Host' type=kotlin.Function0 origin=VARIABLE_AS_FUNCTION + 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 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 306d8e8f1d1..a8ba616e350 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 flags:[] 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 flags:[] 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 flags:[] 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 flags:[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 flags:[] 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 '(): Nothing' type=kotlin.Function0 origin=LAMBDA - FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + 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:[] 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 a4eb1c1f468..9bdc439e7da 100644 --- a/compiler/testData/ir/irText/expressions/bangbang.txt +++ b/compiler/testData/ir/irText/expressions/bangbang.txt @@ -1,46 +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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Any? flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(Any?): Any' + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any?) returnType:kotlin.Any flags:[]' BLOCK type=kotlin.Any origin=EXCLEXCL - VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:kotlin.Any? flags:val - GET_VAR 'value-parameter a: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.Any origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_notnull: Any?' type=kotlin.Any? origin=null + 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 arg1: CONST Null type=kotlin.Nothing? value=null - then: CALL 'THROW_NPE(): Nothing' type=kotlin.Nothing origin=EXCLEXCL + then: CALL 'FUN IR_BUILTINS_STUB name:THROW_NPE visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[]' type=kotlin.Nothing origin=EXCLEXCL BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'tmp0_notnull: Any?' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(Any?): Int' + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Any?) returnType:kotlin.Int flags:[]' 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? flags:[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 a: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null + 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 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 'hashCode(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.Int origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp1_notnull: Int?' type=kotlin.Int? origin=null + 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 arg1: CONST Null type=kotlin.Nothing? value=null - then: CALL 'THROW_NPE(): Nothing' type=kotlin.Nothing origin=EXCLEXCL + then: CALL 'FUN IR_BUILTINS_STUB name:THROW_NPE visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[]' type=kotlin.Nothing origin=EXCLEXCL BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'tmp1_notnull: Int?' type=kotlin.Int? origin=null - + then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_notnull type:kotlin.Int? flags:[val]' type=kotlin.Int? origin=null diff --git a/compiler/testData/ir/irText/expressions/booleanConstsInAndAndOrOr.txt b/compiler/testData/ir/irText/expressions/booleanConstsInAndAndOrOr.txt index 6c49a3dbf1a..6a0967aca10 100644 --- a/compiler/testData/ir/irText/expressions/booleanConstsInAndAndOrOr.txt +++ b/compiler/testData/ir/irText/expressions/booleanConstsInAndAndOrOr.txt @@ -1,28 +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 flags:[] + VALUE_PARAMETER name:b index:0 type:kotlin.Boolean flags:[] 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 flags:[] superTypes:[kotlin.Any] WHEN type=kotlin.Boolean origin=ANDAND BRANCH - if: GET_VAR 'value-parameter b: Boolean' type=kotlin.Boolean origin=null - then: RETURN type=kotlin.Nothing from='test1(Boolean): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit + 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 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 flags:[] + VALUE_PARAMETER name:b index:0 type:kotlin.Boolean flags:[] 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 flags:[] superTypes:[kotlin.Any] WHEN type=kotlin.Boolean origin=OROR BRANCH - if: GET_VAR 'value-parameter b: Boolean' type=kotlin.Boolean origin=null + if: GET_VAR 'VALUE_PARAMETER name:b index:0 type:kotlin.Boolean flags:[]' 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='test2(Boolean): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - + 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 diff --git a/compiler/testData/ir/irText/expressions/booleanOperators.txt b/compiler/testData/ir/irText/expressions/booleanOperators.txt index 55cc1b6abec..3211507a50d 100644 --- a/compiler/testData/ir/irText/expressions/booleanOperators.txt +++ b/compiler/testData/ir/irText/expressions/booleanOperators.txt @@ -1,42 +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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Boolean flags:[] + VALUE_PARAMETER name:b index:1 type:kotlin.Boolean flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(Boolean, Boolean): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Boolean, b:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' WHEN type=kotlin.Boolean origin=ANDAND BRANCH - if: GET_VAR 'value-parameter a: Boolean' type=kotlin.Boolean origin=null - then: GET_VAR 'value-parameter b: Boolean' type=kotlin.Boolean origin=null + 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 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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Boolean flags:[] + VALUE_PARAMETER name:b index:1 type:kotlin.Boolean flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(Boolean, Boolean): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Boolean, b:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' WHEN type=kotlin.Boolean origin=OROR BRANCH - if: GET_VAR 'value-parameter a: Boolean' type=kotlin.Boolean origin=null + if: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Boolean flags:[]' 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 b: Boolean' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1x(Boolean, Boolean): Boolean' - CALL 'and(Boolean): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter a: Boolean' type=kotlin.Boolean origin=null - other: GET_VAR 'value-parameter b: Boolean' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2x(Boolean, Boolean): Boolean' - CALL 'or(Boolean): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter a: Boolean' type=kotlin.Boolean origin=null - other: GET_VAR 'value-parameter b: Boolean' type=kotlin.Boolean origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/boxOk.txt b/compiler/testData/ir/irText/expressions/boxOk.txt index 7c28c83c201..ae2da2ca277 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='box(): String' + RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' 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 c208e2a2022..3910c196ed9 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 flags:[] 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 flags:[] 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 flags:[] BLOCK_BODY WHILE label=L origin=WHILE_LOOP condition: CONST Boolean type=kotlin.Boolean value=true @@ -57,4 +57,3 @@ FILE fqName: fileName:/breakContinue.kt body: BLOCK type=kotlin.Unit origin=null CONTINUE label=L loop.label=L CONTINUE label=L loop.label=L - diff --git a/compiler/testData/ir/irText/expressions/breakContinueInLoopHeader.txt b/compiler/testData/ir/irText/expressions/breakContinueInLoopHeader.txt index 912fd7bdb12..a4fbbfa3b7e 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 flags:[] + VALUE_PARAMETER name:c index:0 type:kotlin.Boolean? flags:[] 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 c: Boolean?' type=kotlin.Boolean? origin=null + 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 WHEN type=kotlin.Boolean origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_elvis_lhs: Boolean?' type=kotlin.Boolean? origin=null + 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 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 'tmp0_elvis_lhs: Boolean?' 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 '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:[] 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 c: Boolean?' type=kotlin.Boolean? origin=null + 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 WHEN type=kotlin.Boolean origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_elvis_lhs: Boolean?' type=kotlin.Boolean? origin=null + 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 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 'tmp0_elvis_lhs: Boolean?' 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 '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:[] 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 'iterator(): Iterator' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR + 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: 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 ss: List?' type=kotlin.collections.List? origin=null + 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 WHEN type=kotlin.collections.List origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_elvis_lhs: List?' type=kotlin.collections.List? origin=null + 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 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 'tmp0_elvis_lhs: List?' type=kotlin.collections.List? origin=null + then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.collections.List? flags:[val]' type=kotlin.collections.List? origin=null WHILE label=L2 origin=FOR_LOOP_INNER_WHILE - condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'tmp1_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:val - CALL 'next(): T' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'tmp1_iterator: Iterator' 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 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:[] 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 'iterator(): Iterator' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR + 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: 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 ss: List?' type=kotlin.collections.List? origin=null + 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 WHEN type=kotlin.collections.List origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_elvis_lhs: List?' type=kotlin.collections.List? origin=null + 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 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 'tmp0_elvis_lhs: List?' type=kotlin.collections.List? origin=null + then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.collections.List? flags:[val]' type=kotlin.collections.List? origin=null WHILE label=L2 origin=FOR_LOOP_INNER_WHILE - condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'tmp1_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:val - CALL 'next(): T' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'tmp1_iterator: Iterator' 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 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:[] BLOCK_BODY - VAR name:i type:kotlin.Int flags:var + VAR name:i type:kotlin.Int flags:[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 flags:[] superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=PREFIX_INCR - SET_VAR 'i: Int' type=kotlin.Unit origin=PREFIX_INCR - CALL 'inc(): Int' type=kotlin.Int origin=PREFIX_INCR - $this: GET_VAR 'i: Int' type=kotlin.Int origin=PREFIX_INCR - GET_VAR 'i: Int' type=kotlin.Int origin=PREFIX_INCR - VAR name:j type:kotlin.Int flags:var + 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] 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 flags:[] superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=PREFIX_INCR - SET_VAR 'j: Int' type=kotlin.Unit origin=PREFIX_INCR - CALL 'inc(): Int' type=kotlin.Int origin=PREFIX_INCR - $this: GET_VAR 'j: Int' type=kotlin.Int origin=PREFIX_INCR - GET_VAR 'j: Int' 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 condition: WHEN type=kotlin.Boolean origin=IF BRANCH - if: CALL 'greaterOrEqual(Int, Int): Boolean' type=kotlin.Boolean origin=GTEQ - arg0: GET_VAR 'j: Int' type=kotlin.Int origin=null + 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 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 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'i: Int' type=kotlin.Int origin=null + 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 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 f62676aaf60..71f24532953 100644 --- a/compiler/testData/ir/irText/expressions/callWithReorderedArguments.txt +++ b/compiler/testData/ir/irText/expressions/callWithReorderedArguments.txt @@ -1,43 +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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] + VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] BLOCK_BODY - FUN name:noReorder1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags: + FUN name:noReorder1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='noReorder1(): Int' + RETURN type=kotlin.Nothing from='FUN name:noReorder1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='noReorder2(): Int' + RETURN type=kotlin.Nothing from='FUN name:noReorder2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='reordered1(): Int' + RETURN type=kotlin.Nothing from='FUN name:reordered1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='reordered2(): Int' + RETURN type=kotlin.Nothing from='FUN name:reordered2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 flags:[] BLOCK_BODY - CALL 'foo(Int, Int): Unit' type=kotlin.Unit origin=null - a: CALL 'noReorder1(): Int' type=kotlin.Int origin=null - b: CALL 'noReorder2(): Int' 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: 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 BLOCK type=kotlin.Unit origin=ARGUMENTS_REORDERING_FOR_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_b type:kotlin.Int flags:val - CALL 'reordered1(): Int' type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp1_a type:kotlin.Int flags:val - CALL 'reordered2(): Int' type=kotlin.Int origin=null - CALL 'foo(Int, Int): Unit' type=kotlin.Unit origin=null - a: GET_VAR 'tmp1_a: Int' type=kotlin.Int origin=null - b: GET_VAR 'tmp0_b: Int' type=kotlin.Int origin=null + 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 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 flags:[val] CONST Int type=kotlin.Int value=1 - VAR IR_TEMPORARY_VARIABLE name:tmp3_a type:kotlin.Int flags:val - CALL 'reordered2(): Int' type=kotlin.Int origin=null - CALL 'foo(Int, Int): Unit' type=kotlin.Unit origin=null - a: GET_VAR 'tmp3_a: Int' type=kotlin.Int origin=null - b: GET_VAR 'tmp2_b: Int' type=kotlin.Int origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/callableReferenceToImportedFromObject.txt b/compiler/testData/ir/irText/expressions/callableReferenceToImportedFromObject.txt index e546889c13d..fe414e5ed00 100644 --- a/compiler/testData/ir/irText/expressions/callableReferenceToImportedFromObject.txt +++ b/compiler/testData/ir/irText/expressions/callableReferenceToImportedFromObject.txt @@ -1,77 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.Foo flags:[] + CONSTRUCTOR visibility:private <> () returnType:test.Foo flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Foo' - 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 '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] 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 flags:[] + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL flags:[val] + $this: VALUE_PARAMETER name: type:test.Foo flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'a: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@Foo: Foo' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(): String' + RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> ($this:test.Foo) returnType:kotlin.String flags:[]' 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] EXPRESSION_BODY - PROPERTY_REFERENCE 'a: String' field=null getter='(): String' setter=null type=kotlin.reflect.KProperty0 origin=null - $this: GET_OBJECT 'Foo' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KProperty0' - GET_FIELD 'test1: KProperty0' 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='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] EXPRESSION_BODY - PROPERTY_REFERENCE 'a: String' field=null getter='(): String' setter=null type=kotlin.reflect.KProperty0 origin=null - $this: GET_OBJECT 'Foo' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KProperty0' - GET_FIELD 'test1a: KProperty0' 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='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] EXPRESSION_BODY - FUNCTION_REFERENCE 'foo(): String' type=kotlin.reflect.KFunction0 origin=null - $this: GET_OBJECT 'Foo' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KFunction0' - GET_FIELD 'test2: KFunction0' 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='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] EXPRESSION_BODY - FUNCTION_REFERENCE 'foo(): String' type=kotlin.reflect.KFunction0 origin=null - $this: GET_OBJECT 'Foo' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): KFunction0' - GET_FIELD 'test2a: KFunction0' type=kotlin.reflect.KFunction0 origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/callableReferenceTypeArguments.txt b/compiler/testData/ir/irText/expressions/callableReferenceTypeArguments.txt index 0a949fb968b..487f94165dc 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host flags:[] + CONSTRUCTOR visibility:private <> () returnType:.Host flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Host' - FUN name:objectMember visibility:public modality:FINAL ($this:Host, x:T) returnType:kotlin.Unit flags:inline + 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] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:Host flags: - VALUE_PARAMETER name:x index:0 type:T flags: + $this: VALUE_PARAMETER name: type:.Host flags:[] + VALUE_PARAMETER name:x index:0 type:.Host.objectMember.T flags:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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:T) returnType:kotlin.Unit flags:inline + 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] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:x index:0 type:T flags: + VALUE_PARAMETER name:x index:0 type:.topLevel1.T flags:[] BLOCK_BODY - FUN name:topLevel2 visibility:public modality:FINAL (x:kotlin.collections.List) returnType:kotlin.Unit flags:inline + FUN name:topLevel2 visibility:public modality:FINAL (x:kotlin.collections.List<.topLevel2.T>) returnType:kotlin.Unit flags:[inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:x index:0 type:kotlin.collections.List flags: + VALUE_PARAMETER name:x index:0 type:kotlin.collections.List<.topLevel2.T> flags:[] 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function1 visibility:public flags:[final,static] EXPRESSION_BODY - FUNCTION_REFERENCE 'topLevel1(T): Unit' type=kotlin.reflect.KFunction1<@[CALL 'constructor ParameterName(String)' type=kotlin.ParameterName origin=null] kotlin.Int, kotlin.Unit> origin=null + 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 : 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 flags:[] + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): (Int) -> Unit' - GET_FIELD 'test1: (Int) -> Unit' 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='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] EXPRESSION_BODY - FUNCTION_REFERENCE 'topLevel2(List): Unit' type=kotlin.reflect.KFunction1<@[CALL 'constructor ParameterName(String)' type=kotlin.ParameterName origin=null] kotlin.collections.List, kotlin.Unit> origin=null + 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 : 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> flags:[] + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): (List) -> Unit' - GET_FIELD 'test2: (List) -> Unit' 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='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] EXPRESSION_BODY - FUNCTION_REFERENCE 'objectMember(T): Unit' type=kotlin.reflect.KFunction1<@[CALL 'constructor ParameterName(String)' type=kotlin.ParameterName origin=null] kotlin.Int, kotlin.Unit> origin=null + 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 : kotlin.Int - $this: GET_OBJECT 'Host' 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 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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): (Int) -> Unit' - GET_FIELD 'test3: (Int) -> Unit' type=kotlin.Function1 origin=null + 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 diff --git a/compiler/testData/ir/irText/expressions/calls.txt b/compiler/testData/ir/irText/expressions/calls.txt index 8f284b69370..4417d26028c 100644 --- a/compiler/testData/ir/irText/expressions/calls.txt +++ b/compiler/testData/ir/irText/expressions/calls.txt @@ -1,46 +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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(Int, Int): Int' - GET_VAR 'value-parameter x: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='bar(Int): Int' - CALL 'foo(Int, Int): Int' type=kotlin.Int origin=null - x: GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='qux(Int): Int' - CALL 'foo(Int, Int): Int' type=kotlin.Int origin=null - x: CALL 'foo(Int, Int): Int' type=kotlin.Int origin=null - x: GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null - y: GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null - y: GET_VAR 'value-parameter x: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='ext1() on Int: Int' - GET_VAR 'this@ext1: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='ext2(Int) on Int: Int' - CALL 'foo(Int, Int): Int' type=kotlin.Int origin=null - x: GET_VAR 'this@ext2: Int' type=kotlin.Int origin=null - y: GET_VAR 'value-parameter x: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='ext3(Int) on Int: Int' - CALL 'foo(Int, Int): Int' type=kotlin.Int origin=null - x: CALL 'ext1() on Int: Int' type=kotlin.Int origin=null - $receiver: GET_VAR 'this@ext3: Int' type=kotlin.Int origin=null - y: GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/castToTypeParameter.txt b/compiler/testData/ir/irText/expressions/castToTypeParameter.txt index 1d44b03747e..4cd5d81a125 100644 --- a/compiler/testData/ir/irText/expressions/castToTypeParameter.txt +++ b/compiler/testData/ir/irText/expressions/castToTypeParameter.txt @@ -1,103 +1,102 @@ FILE fqName: fileName:/castToTypeParameter.kt - FUN name:castFun visibility:public modality:FINAL (x:kotlin.Any) returnType:T flags: + FUN name:castFun visibility:public modality:FINAL (x:kotlin.Any) returnType:.castFun.T flags:[] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='castFun(Any): T' - TYPE_OP type=T origin=CAST typeOperand=T + 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 typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null - FUN name:castExtFun visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:T flags: + 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:[] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='castExtFun() on Any: T' - TYPE_OP type=T origin=CAST typeOperand=T + 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 typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'this@castExtFun: Any' 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 '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] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:T flags: + $receiver: VALUE_PARAMETER name: type:..T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on T: T' - TYPE_OP type=T origin=CAST typeOperand=T + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:..T flags:[]' + TYPE_OP type=..T origin=CAST typeOperand=..T typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'this@castExtVal: T' type=T origin=null - CLASS CLASS name:Host modality:FINAL visibility:public flags: superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Host flags: + 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:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:Host flags:primary + CONSTRUCTOR visibility:public <> () returnType:.Host<.Host.T> flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Host' - FUN name:castMemberFun visibility:public modality:FINAL <> ($this:Host, x:kotlin.Any) returnType:T flags: - $this: VALUE_PARAMETER name: type:Host flags: - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='castMemberFun(Any): T' - TYPE_OP type=T origin=CAST typeOperand=T + 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 typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null - FUN name:castGenericMemberFun visibility:public modality:FINAL ($this:Host, x:kotlin.Any) returnType:TF flags: + 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:[] TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:Host flags: - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags: + $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='castGenericMemberFun(Any): TF' - TYPE_OP type=TF origin=CAST typeOperand=TF + 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 typeOperand: TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null - FUN name:castMemberExtFun visibility:public modality:FINAL <> ($this:Host, $receiver:kotlin.Any) returnType:T flags: - $this: VALUE_PARAMETER name: type:Host flags: - $receiver: VALUE_PARAMETER name: type:kotlin.Any flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='castMemberExtFun() on Any: T' - TYPE_OP type=T origin=CAST typeOperand=T + 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 typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'this@castMemberExtFun: Any' type=kotlin.Any origin=null - FUN name:castGenericMemberExtFun visibility:public modality:FINAL ($this:Host, $receiver:kotlin.Any) returnType:TF flags: + 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:[] 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<.Host.T> flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='castGenericMemberExtFun() on Any: TF' - TYPE_OP type=TF origin=CAST typeOperand=TF + 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 typeOperand: TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'this@castGenericMemberExtFun: Any' type=kotlin.Any origin=null - PROPERTY name:castMemberExtVal visibility:public modality:FINAL flags:val - FUN name: visibility:public modality:FINAL <> ($this:Host, $receiver:kotlin.Any) returnType:T flags: - correspondingProperty: PROPERTY name:castMemberExtVal visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Host flags: - $receiver: VALUE_PARAMETER name: type:kotlin.Any flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on Any: T' - TYPE_OP type=T origin=CAST typeOperand=T + 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 typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'this@castMemberExtVal: Any' type=kotlin.Any origin=null - PROPERTY name:castGenericMemberExtVal visibility:public modality:FINAL flags:val - FUN name: visibility:public modality:FINAL ($this:Host, $receiver:TV) returnType:TV flags: - correspondingProperty: PROPERTY name:castGenericMemberExtVal visibility:public modality:FINAL flags:val + 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] TYPE_PARAMETER name:TV index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:Host flags: - $receiver: VALUE_PARAMETER name: type:TV flags: + $this: VALUE_PARAMETER name: type:.Host<.Host.T> flags:[] + $receiver: VALUE_PARAMETER name: type:.Host..TV flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on TV: TV' - TYPE_OP type=TV origin=CAST typeOperand=TV + 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 typeOperand: TYPE_PARAMETER name:TV index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'this@castGenericMemberExtVal: TV' type=TV origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/catchParameterAccess.txt b/compiler/testData/ir/irText/expressions/catchParameterAccess.txt index 80ede782c06..2c81070ae2a 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 flags:[] + VALUE_PARAMETER name:f index:0 type:kotlin.Function0 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(() -> Unit): Unit' + RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (f:kotlin.Function0) returnType:kotlin.Unit flags:[]' TRY type=kotlin.Unit try: BLOCK type=kotlin.Unit origin=null - CALL 'invoke(): R' type=kotlin.Unit origin=INVOKE - $this: GET_VAR 'value-parameter f: () -> Unit' type=kotlin.Function0 origin=VARIABLE_AS_FUNCTION - CATCH parameter=e: Exception /* = Exception */ - VAR CATCH_PARAMETER name:e type:java.lang.Exception flags:val + 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] BLOCK type=kotlin.Nothing origin=null THROW type=kotlin.Nothing - GET_VAR 'e: Exception /* = Exception */' type=java.lang.Exception origin=null + GET_VAR 'VAR CATCH_PARAMETER name:e type:java.lang.Exception flags:[val]' 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 ad894b994db..2b45b0972da 100644 --- a/compiler/testData/ir/irText/expressions/chainOfSafeCalls.txt +++ b/compiler/testData/ir/irText/expressions/chainOfSafeCalls.txt @@ -1,84 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] + CONSTRUCTOR visibility:public <> () returnType:.C flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - FUN name:foo visibility:public modality:FINAL <> ($this:C) returnType:C flags: - $this: VALUE_PARAMETER name: type:C flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(): C' - GET_VAR 'this@C: C' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='bar(): C?' - GET_VAR 'this@C: C' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(C?): C?' - BLOCK type=C? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:C? flags:val - BLOCK type=C? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:C? flags:val - BLOCK type=C? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:C? flags:val - BLOCK type=C? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:C? flags:val - GET_VAR 'value-parameter nc: C?' type=C? origin=null - WHEN type=C? origin=null + RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (nc:.C?) returnType:.C? flags:[]' + BLOCK type=.C? origin=SAFE_CALL + VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:.C? flags:[val] + BLOCK type=.C? origin=SAFE_CALL + VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:.C? flags:[val] + BLOCK type=.C? origin=SAFE_CALL + VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:.C? flags:[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 + WHEN type=.C? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: C?' type=C? origin=null + 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 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 'foo(): C' type=C origin=null - $this: GET_VAR 'tmp0_safe_receiver: C?' type=C? origin=null - WHEN type=C? origin=null + 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 + WHEN type=.C? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp1_safe_receiver: C?' type=C? origin=null + 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 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 'bar(): C?' type=C? origin=null - $this: GET_VAR 'tmp1_safe_receiver: C?' type=C? origin=null - WHEN type=C? origin=null + 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 + WHEN type=.C? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp2_safe_receiver: C?' type=C? origin=null + 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 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 'foo(): C' type=C origin=null - $this: GET_VAR 'tmp2_safe_receiver: C?' type=C? origin=null - WHEN type=C? origin=null + 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 + WHEN type=.C? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp3_safe_receiver: C?' type=C? origin=null + 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 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 'foo(): C' type=C origin=null - $this: GET_VAR 'tmp3_safe_receiver: C?' type=C? origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/classReference.txt b/compiler/testData/ir/irText/expressions/classReference.txt index 81764466155..87d0a92714d 100644 --- a/compiler/testData/ir/irText/expressions/classReference.txt +++ b/compiler/testData/ir/irText/expressions/classReference.txt @@ -1,41 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] 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 'A' type=kotlin.reflect.KClass + 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> 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] - GET_CLASS type=kotlin.reflect.KClass - CALL 'constructor A()' type=A origin=null + typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + GET_CLASS type=kotlin.reflect.KClass.A> + CALL 'CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary]' 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 '() on KClass: Class' type=java.lang.Class origin=GET_PROPERTY - <`0>: A - $receiver: CLASS_REFERENCE 'A' type=kotlin.reflect.KClass + 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 + <`0>: .A + $receiver: CLASS_REFERENCE 'CLASS CLASS name:A modality:FINAL visibility:public flags:[] 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 '() on KClass: Class' type=java.lang.Class origin=GET_PROPERTY - <`0>: A - $receiver: GET_CLASS type=kotlin.reflect.KClass - CALL 'constructor A()' type=A origin=null - + 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 + <`0>: .A + $receiver: GET_CLASS type=kotlin.reflect.KClass.A> + CALL 'CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary]' type=.A origin=null diff --git a/compiler/testData/ir/irText/expressions/coercionToUnit.txt b/compiler/testData/ir/irText/expressions/coercionToUnit.txt index 8d86af6ee6b..f9276fa4a6f 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0 visibility:public flags:[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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Unit' + RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit flags:[]' 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 flags:[] superTypes:[kotlin.Any] CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE '(): Unit' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): () -> Unit' - GET_FIELD 'test1: () -> Unit' 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='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:[] 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 'add(E): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter mc: MutableCollection' type=kotlin.collections.MutableCollection origin=null + 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 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 flags:[] 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 flags:[] 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 'out: PrintStream!' type=java.io.PrintStream? origin=GET_PROPERTY + 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 WHEN type=kotlin.Unit? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: PrintStream?' type=java.io.PrintStream? origin=null + 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 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 'println(String!): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'tmp0_safe_receiver: PrintStream?' type=java.io.PrintStream? origin=null + 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 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 flags:[] 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 'out: PrintStream!' type=java.io.PrintStream? origin=GET_PROPERTY + 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 WHEN type=kotlin.Unit? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp1_safe_receiver: PrintStream?' type=java.io.PrintStream? origin=null + 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 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 'println(String!): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'tmp1_safe_receiver: PrintStream?' type=java.io.PrintStream? origin=null + 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 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 3e741f14e16..b79e34b9ac7 100644 --- a/compiler/testData/ir/irText/expressions/complexAugmentedAssignment.txt +++ b/compiler/testData/ir/irText/expressions/complexAugmentedAssignment.txt @@ -1,272 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X1 flags:[] + CONSTRUCTOR visibility:private <> () returnType:.X1 flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='X1' - PROPERTY name:x1 visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:x1 type:kotlin.Int visibility:public flags: + 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:[] 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 flags:[] + correspondingProperty: PROPERTY name:x1 visibility:public modality:FINAL flags:[var] + $this: VALUE_PARAMETER name: type:.X1 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x1: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@X1: X1' 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='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:[] BLOCK_BODY - SET_FIELD 'x1: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@X1: X1' type=X1 origin=null - value: GET_VAR 'value-parameter : Int' 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='X2' - PROPERTY name:x2 visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:x2 type:kotlin.Int visibility:public flags: + 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:[] 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 flags:[] + correspondingProperty: PROPERTY name:x2 visibility:public modality:FINAL flags:[var] + $this: VALUE_PARAMETER name: type:.X1.X2 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x2: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@X2: X2' 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='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:[] BLOCK_BODY - SET_FIELD 'x2: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@X2: X2' type=X1.X2 origin=null - value: GET_VAR 'value-parameter : Int' 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='X3' - PROPERTY name:x3 visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:x3 type:kotlin.Int visibility:public flags: + 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:[] 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 flags:[] + correspondingProperty: PROPERTY name:x3 visibility:public modality:FINAL flags:[var] + $this: VALUE_PARAMETER name: type:.X1.X2.X3 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x3: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@X3: 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 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='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:[] BLOCK_BODY - SET_FIELD 'x3: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@X3: X3' type=X1.X2.X3 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - VAR name:i type:kotlin.Int flags:var + VAR name:i type:kotlin.Int flags:[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 flags:[] 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 a: IntArray' 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 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] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:val - GET_VAR 'i: Int' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'i: Int' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp0: Int' type=kotlin.Int origin=null - GET_VAR 'tmp0: Int' type=kotlin.Int origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:val - CALL 'get(Int): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp1_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp2_index0: Int' type=kotlin.Int origin=null - CALL 'set(Int, Int): Unit' type=kotlin.Unit origin=POSTFIX_INCR - $this: GET_VAR 'tmp1_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp2_index0: Int' type=kotlin.Int origin=null - value: CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp3: Int' type=kotlin.Int origin=null - GET_VAR 'tmp3: Int' 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 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:[] 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 flags:[] superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:X1 flags:val - GET_OBJECT 'X1' type=X1 + 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 BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:val - CALL '(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp0_this: X1' type=X1 origin=null - CALL '(Int): Unit' type=kotlin.Unit origin=POSTFIX_INCR - $this: GET_VAR 'tmp0_this: X1' type=X1 origin=null - : CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp1: Int' type=kotlin.Int origin=null - GET_VAR 'tmp1: Int' type=kotlin.Int origin=null + 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 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 flags:[] superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp2_this type:X1.X2 flags:val - GET_OBJECT 'X2' type=X1.X2 + 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 BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:val - CALL '(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp2_this: X1.X2' type=X1.X2 origin=null - CALL '(Int): Unit' type=kotlin.Unit origin=POSTFIX_INCR - $this: GET_VAR 'tmp2_this: X1.X2' type=X1.X2 origin=null - : CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp3: Int' type=kotlin.Int origin=null - GET_VAR 'tmp3: Int' type=kotlin.Int origin=null + 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 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 flags:[] 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 'X3' type=X1.X2.X3 + 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 BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp5 type:kotlin.Int flags:val - CALL '(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp4_this: X1.X2.X3' type=X1.X2.X3 origin=null - CALL '(Int): Unit' type=kotlin.Unit origin=POSTFIX_INCR - $this: GET_VAR 'tmp4_this: X1.X2.X3' type=X1.X2.X3 origin=null - : CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp5: Int' type=kotlin.Int origin=null - GET_VAR 'tmp5: Int' 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 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:[] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='B' - PROPERTY name:s visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.Int visibility:public flags: + 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:[] EXPRESSION_BODY - GET_VAR 'value-parameter s: Int = ...' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 's: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@B: B' 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='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:[] BLOCK_BODY - SET_FIELD 's: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@B: B' type=B 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Host' - 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 '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:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:B flags:val - GET_VAR 'this@plusAssign: B' type=B origin=null - CALL '(Int): Unit' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'tmp0_this: B' type=B origin=null - : CALL 'plus(Int): Int' type=kotlin.Int origin=PLUSEQ - $this: CALL '(): Int' type=kotlin.Int origin=PLUSEQ - $this: GET_VAR 'tmp0_this: B' type=B origin=null - other: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'value-parameter b: B' 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - CALL 'plusAssign(B) on B: Unit' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'this@test3: Host' type=Host origin=null - $receiver: GET_VAR 'value-parameter v: B' type=B origin=PLUSEQ - b: CALL 'constructor B(Int = ...)' type=B origin=null + 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 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 078c56a38f9..937c8f86ded 100644 --- a/compiler/testData/ir/irText/expressions/contructorCall.txt +++ b/compiler/testData/ir/irText/expressions/contructorCall.txt @@ -1,30 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] EXPRESSION_BODY - CALL 'constructor A()' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): A' - GET_FIELD 'test: A' type=A origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/conventionComparisons.txt b/compiler/testData/ir/irText/expressions/conventionComparisons.txt index 2126d94a27a..98da5de2524 100644 --- a/compiler/testData/ir/irText/expressions/conventionComparisons.txt +++ b/compiler/testData/ir/irText/expressions/conventionComparisons.txt @@ -1,84 +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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(IA, IA) on IB: Boolean' - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT - arg0: CALL 'compareTo(IA) on IA: Int' type=kotlin.Int origin=GT - $this: GET_VAR 'this@test1: IB' type=IB origin=null - $receiver: GET_VAR 'value-parameter a1: IA' type=IA origin=null - other: GET_VAR 'value-parameter a2: IA' type=IA origin=null + 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 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(IA, IA) on IB: Boolean' - CALL 'greaterOrEqual(Int, Int): Boolean' type=kotlin.Boolean origin=GTEQ - arg0: CALL 'compareTo(IA) on IA: Int' type=kotlin.Int origin=GTEQ - $this: GET_VAR 'this@test2: IB' type=IB origin=null - $receiver: GET_VAR 'value-parameter a1: IA' type=IA origin=null - other: GET_VAR 'value-parameter a2: IA' type=IA origin=null + 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 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(IA, IA) on IB: Boolean' - CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: CALL 'compareTo(IA) on IA: Int' type=kotlin.Int origin=LT - $this: GET_VAR 'this@test3: IB' type=IB origin=null - $receiver: GET_VAR 'value-parameter a1: IA' type=IA origin=null - other: GET_VAR 'value-parameter a2: IA' type=IA origin=null + 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 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4(IA, IA) on IB: Boolean' - CALL 'lessOrEqual(Int, Int): Boolean' type=kotlin.Boolean origin=LTEQ - arg0: CALL 'compareTo(IA) on IA: Int' type=kotlin.Int origin=LTEQ - $this: GET_VAR 'this@test4: IB' type=IB origin=null - $receiver: GET_VAR 'value-parameter a1: IA' type=IA origin=null - other: GET_VAR 'value-parameter a2: IA' type=IA origin=null + 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 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 76f102910a3..54e5e415031 100644 --- a/compiler/testData/ir/irText/expressions/destructuring1.txt +++ b/compiler/testData/ir/irText/expressions/destructuring1.txt @@ -1,66 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='B' - 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1() on A: Int' + RETURN type=kotlin.Nothing from='FUN name:component1 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[]' 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 flags:[] + $this: VALUE_PARAMETER name: type:.B flags:[] + $receiver: VALUE_PARAMETER name: type:.A flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component2() on A: Int' + RETURN type=kotlin.Nothing from='FUN name:component2 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[]' 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY COMPOSITE type=kotlin.Unit origin=DESTRUCTURING_DECLARATION - VAR IR_TEMPORARY_VARIABLE name:tmp0_container type:A flags:val - GET_OBJECT 'A' type=A - VAR name:x type:kotlin.Int flags:val - CALL 'component1() on A: Int' type=kotlin.Int origin=COMPONENT_N(index=1) - $this: GET_VAR 'this@test: B' type=B origin=null - $receiver: GET_VAR 'tmp0_container: A' type=A origin=null - VAR name:y type:kotlin.Int flags:val - CALL 'component2() on A: Int' type=kotlin.Int origin=COMPONENT_N(index=2) - $this: GET_VAR 'this@test: B' type=B origin=null - $receiver: GET_VAR 'tmp0_container: A' type=A origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/destructuringWithUnderscore.txt b/compiler/testData/ir/irText/expressions/destructuringWithUnderscore.txt index 33181f16edf..c1b212cf2e4 100644 --- a/compiler/testData/ir/irText/expressions/destructuringWithUnderscore.txt +++ b/compiler/testData/ir/irText/expressions/destructuringWithUnderscore.txt @@ -1,72 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='B' - 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1() on A: Int' + RETURN type=kotlin.Nothing from='FUN name:component1 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[]' 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 flags:[] + $this: VALUE_PARAMETER name: type:.B flags:[] + $receiver: VALUE_PARAMETER name: type:.A flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component2() on A: Int' + RETURN type=kotlin.Nothing from='FUN name:component2 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[]' 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 flags:[] + $this: VALUE_PARAMETER name: type:.B flags:[] + $receiver: VALUE_PARAMETER name: type:.A flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component3() on A: Int' + RETURN type=kotlin.Nothing from='FUN name:component3 visibility:public modality:FINAL <> ($this:.B, $receiver:.A) returnType:kotlin.Int flags:[]' 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY COMPOSITE type=kotlin.Unit origin=DESTRUCTURING_DECLARATION - VAR IR_TEMPORARY_VARIABLE name:tmp0_container type:A flags:val - GET_OBJECT 'A' type=A - VAR name:x type:kotlin.Int flags:val - CALL 'component1() on A: Int' type=kotlin.Int origin=COMPONENT_N(index=1) - $this: GET_VAR 'this@test: B' type=B origin=null - $receiver: GET_VAR 'tmp0_container: A' type=A origin=null - VAR name:z type:kotlin.Int flags:val - CALL 'component3() on A: Int' type=kotlin.Int origin=COMPONENT_N(index=3) - $this: GET_VAR 'this@test: B' type=B origin=null - $receiver: GET_VAR 'tmp0_container: A' type=A origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/dotQualified.txt b/compiler/testData/ir/irText/expressions/dotQualified.txt index 997e3caa883..583e092aa63 100644 --- a/compiler/testData/ir/irText/expressions/dotQualified.txt +++ b/compiler/testData/ir/irText/expressions/dotQualified.txt @@ -1,25 +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 flags:[] + VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='length(String): Int' - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'value-parameter s: String' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='lengthN(String?): Int?' + RETURN type=kotlin.Nothing from='FUN name:lengthN visibility:public modality:FINAL <> (s:kotlin.String?) returnType:kotlin.Int? flags:[]' BLOCK type=kotlin.Int? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:val - GET_VAR 'value-parameter s: String?' type=kotlin.String? origin=null + 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 WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? origin=null + 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 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 '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? 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 + $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:[val]' type=kotlin.String? origin=null diff --git a/compiler/testData/ir/irText/expressions/elvis.txt b/compiler/testData/ir/irText/expressions/elvis.txt index 27e3d85e1bd..52d861b3217 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Any? visibility:public flags:[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? flags:[] + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Any?' - GET_FIELD 'p: Any?' type=kotlin.Any? origin=null - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Any? flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(): Any?' + RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Any? flags:[]' 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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Any? flags:[] + VALUE_PARAMETER name:b index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(Any?, Any): Any' + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any) returnType:kotlin.Any flags:[]' BLOCK type=kotlin.Any origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:val - GET_VAR 'value-parameter a: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.Any origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null + 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 arg1: CONST Null type=kotlin.Nothing? value=null - then: GET_VAR 'value-parameter b: Any' type=kotlin.Any origin=null + then: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'tmp0_elvis_lhs: Any?' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(String?, Any): Any' + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.String?, b:kotlin.Any) returnType:kotlin.Any flags:[]' BLOCK type=kotlin.Any origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.String? flags:val - GET_VAR 'value-parameter a: String?' type=kotlin.String? origin=null + 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 WHEN type=kotlin.Any origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_elvis_lhs: String?' type=kotlin.String? origin=null + 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 arg1: CONST Null type=kotlin.Nothing? value=null - then: GET_VAR 'value-parameter b: Any' type=kotlin.Any origin=null + then: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'tmp0_elvis_lhs: String?' 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 '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:[] 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 b: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='test3(Any?, Any?): 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:[]' 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 a: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='test3(Any?, Any?): 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:[]' CONST String type=kotlin.String value="" - RETURN type=kotlin.Nothing from='test3(Any?, Any?): String' + RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Any?, b:kotlin.Any?) returnType:kotlin.String flags:[]' BLOCK type=kotlin.String origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:val - GET_VAR 'value-parameter a: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.String origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null + 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 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 b: Any?' type=kotlin.Any? origin=null + 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 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 'tmp0_elvis_lhs: Any?' 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4(Any): Any' + RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Any flags:[]' BLOCK type=kotlin.Any origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:val - CALL '(): Any?' type=kotlin.Any? origin=GET_PROPERTY + 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 WHEN type=kotlin.Any origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null + 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 arg1: CONST Null type=kotlin.Nothing? value=null - then: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null + then: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'tmp0_elvis_lhs: Any?' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5(Any): Any' + RETURN type=kotlin.Nothing from='FUN name:test5 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Any flags:[]' BLOCK type=kotlin.Any origin=ELVIS - VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:val - CALL 'foo(): Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.Any origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null + 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 arg1: CONST Null type=kotlin.Nothing? value=null - then: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null + then: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null + then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_elvis_lhs type:kotlin.Any? flags:[val]' type=kotlin.Any? origin=null diff --git a/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt b/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt index 219055bc9fe..0b617318cec 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] - $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 flags:[] superTypes:[kotlin.Enum<.X>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X flags:[] + CONSTRUCTOR visibility:private <> () returnType:.X flags:[primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: X - INSTANCE_INITIALIZER_CALL classDescriptor='X' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .X + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:X modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Enum<.X>]' ENUM_ENTRY name:B - init: ENUM_CONSTRUCTOR_CALL 'constructor B()' - 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 '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] 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 X()' - INSTANCE_INITIALIZER_CALL classDescriptor='B' - 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 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] 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 flags:[] + correspondingProperty: PROPERTY name:value2 visibility:public modality:FINAL flags:[val] + $this: VALUE_PARAMETER name: type:.X.B flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'value2: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@B: B' 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='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] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_ENUM 'B' type=X.B - FUNCTION_REFERENCE '(): String' 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 + 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 + $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] 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 flags:[] + $this: VALUE_PARAMETER name: type:.X.B flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): () -> String' - GET_FIELD 'value: () -> String' type=kotlin.Function0 origin=null - receiver: GET_VAR 'this@B: B' type=X.B origin=null - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:X) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:X) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:X flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, 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 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:[] overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum 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) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:X flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='box(): String' - CALL 'invoke(): R' type=kotlin.String origin=INVOKE - $this: CALL '(): () -> String' type=kotlin.Function0 origin=GET_PROPERTY - $this: GET_ENUM 'B' type=X + 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 + $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 d4e91fadb63..fbda1a4909e 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] - $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 flags:[] superTypes:[kotlin.Enum<.MyEnum>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyEnum flags:[] + CONSTRUCTOR visibility:private <> () returnType:.MyEnum flags:[primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: MyEnum - INSTANCE_INITIALIZER_CALL classDescriptor='MyEnum' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .MyEnum + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:MyEnum modality:OPEN visibility:public flags:[] superTypes:[kotlin.Enum<.MyEnum>]' ENUM_ENTRY name:Z - init: ENUM_CONSTRUCTOR_CALL 'constructor Z()' - 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 '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] 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 MyEnum()' - INSTANCE_INITIALIZER_CALL classDescriptor='Z' - 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 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:[] 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 flags:[] + correspondingProperty: PROPERTY name:counter visibility:public modality:FINAL flags:[var] + $this: VALUE_PARAMETER name: type:.MyEnum.Z flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'counter: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Z: Z' 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='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:[] BLOCK_BODY - SET_FIELD 'counter: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@Z: Z' type=MyEnum.Z origin=null - value: GET_VAR 'value-parameter : Int' 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.MyEnum.Z flags:[] BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_VAR 'this@Z: Z' type=MyEnum.Z origin=null + 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 : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@Z: Z' 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 '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] 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 flags:[] BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_ENUM 'Z' type=MyEnum.Z + 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_ENUM 'ENUM_ENTRY name:Z' type=.MyEnum.Z : CONST Int type=kotlin.Int value=1 - RETURN type=kotlin.Nothing from='(): Unit' - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_ENUM 'Z' type=MyEnum.Z - FUNCTION_REFERENCE '(): Unit' 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: + 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 + $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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): () -> Unit' - GET_FIELD 'aLambda: () -> Unit' type=kotlin.Function0 origin=null - receiver: GET_VAR 'this@Z: Z' 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='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] 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 + 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='' - ANONYMOUS_INITIALIZER + 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]' + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_ENUM 'Z' type=MyEnum.Z + 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_ENUM 'ENUM_ENTRY name:Z' type=.MyEnum.Z : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_ENUM '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: + CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Unit flags:[]' 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:[] BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_ENUM 'Z' type=MyEnum.Z + 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_ENUM 'ENUM_ENTRY name:Z' type=.MyEnum.Z : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_ENUM 'Z' type=MyEnum.Z - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + CALL 'FUN name:foo visibility:public modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Unit flags:[]' 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 ()' 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Any' - GET_FIELD 'anObject: Any' type=kotlin.Any origin=null - receiver: GET_VAR 'this@Z: Z' type=MyEnum.Z origin=null - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:MyEnum) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:MyEnum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:MyEnum flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, 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 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:[] overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:MyEnum flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/expressions/equality.txt b/compiler/testData/ir/irText/expressions/equality.txt index 931b0e6f51c..06d517ff479 100644 --- a/compiler/testData/ir/irText/expressions/equality.txt +++ b/compiler/testData/ir/irText/expressions/equality.txt @@ -1,27 +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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] + VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(Int, Int): Boolean' - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - arg1: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(Int, Int): Boolean' - CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - arg1: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(Any?, Any?): Boolean' - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter a: Any?' type=kotlin.Any? origin=null - arg1: GET_VAR 'value-parameter b: Any?' type=kotlin.Any? origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/extFunInvokeAsFun.txt b/compiler/testData/ir/irText/expressions/extFunInvokeAsFun.txt index 13c11329716..4a6e0faffb6 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 ExtensionFunctionType()' 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 ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='with1(Any?, Any?.() -> Unit): Unit' - CALL 'invoke(P1): R' type=kotlin.Unit origin=INVOKE - $this: GET_VAR 'value-parameter block: Any?.() -> Unit' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=VARIABLE_AS_FUNCTION - p1: GET_VAR 'value-parameter receiver: Any?' type=kotlin.Any? origin=null - FUN name:with2 visibility:public modality:FINAL <> (receiver:kotlin.Any?, block:@[CALL 'constructor ExtensionFunctionType()' 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 ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='with2(Any?, Any?.() -> Unit): Unit' - CALL 'invoke(P1): R' type=kotlin.Unit origin=INVOKE - $this: GET_VAR 'value-parameter block: Any?.() -> Unit' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=VARIABLE_AS_FUNCTION - p1: GET_VAR 'value-parameter receiver: Any?' type=kotlin.Any? origin=null + 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 diff --git a/compiler/testData/ir/irText/expressions/extFunSafeInvoke.txt b/compiler/testData/ir/irText/expressions/extFunSafeInvoke.txt index 6cc825adf2b..0192ad90a46 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 ExtensionFunctionType()' 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 ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function3 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(Any?, Any.(Int, String) -> Unit): Unit?' + 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:[]' BLOCK type=kotlin.Unit? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:val - GET_VAR 'value-parameter receiver: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.Unit? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null + 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 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 'invoke(P1, P2, P3): R' type=kotlin.Unit origin=INVOKE - $this: GET_VAR 'value-parameter fn: Any.(Int, String) -> Unit' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function3 origin=VARIABLE_AS_FUNCTION - p1: GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null + 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 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 aa66acb8af7..8de2e438abe 100644 --- a/compiler/testData/ir/irText/expressions/extensionPropertyGetterCall.txt +++ b/compiler/testData/ir/irText/expressions/extensionPropertyGetterCall.txt @@ -1,15 +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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on String: String' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:[]' 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 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5() on String: String' - CALL '() on String: String' type=kotlin.String origin=GET_PROPERTY - $receiver: GET_VAR 'this@test5: String' type=kotlin.String origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/field.txt b/compiler/testData/ir/irText/expressions/field.txt index bef960dccd5..84a4c22fbf8 100644 --- a/compiler/testData/ir/irText/expressions/field.txt +++ b/compiler/testData/ir/irText/expressions/field.txt @@ -1,34 +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 flags:[var] + FIELD PROPERTY_BACKING_FIELD name:testSimple type:kotlin.Int visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:testSimple visibility:public modality:FINAL flags:[var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'testSimple: Int' 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='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:[] BLOCK_BODY - SET_FIELD 'testSimple: Int' type=kotlin.Unit origin=EQ - value: GET_VAR 'value-parameter value: Int' 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 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] 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 flags:[] + correspondingProperty: PROPERTY name:testAugmented visibility:public modality:FINAL flags:[var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'testAugmented: Int' 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='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:[] BLOCK_BODY - SET_FIELD 'testAugmented: Int' type=kotlin.Unit origin=PLUSEQ - value: CALL 'plus(Int): Int' type=kotlin.Int origin=PLUSEQ - $this: GET_FIELD 'testAugmented: Int' type=kotlin.Int origin=PLUSEQ - other: GET_VAR 'value-parameter value: Int' type=kotlin.Int origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/comparableWithDoubleOrFloat.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/comparableWithDoubleOrFloat.txt index cdef0a093b7..c7e95e85ac3 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/comparableWithDoubleOrFloat.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/comparableWithDoubleOrFloat.txt @@ -1,58 +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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Comparable flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Comparable flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testD(Comparable, Comparable): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testD visibility:public modality:FINAL <> (x:kotlin.Comparable, y:kotlin.Comparable) returnType:kotlin.Boolean flags:[]' 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 x: Comparable' type=kotlin.Comparable origin=null + 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 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 y: Comparable' type=kotlin.Comparable origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT + 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: 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 x: Comparable' type=kotlin.Comparable origin=null + 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 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 y: Comparable' type=kotlin.Comparable origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Comparable flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Comparable flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testF(Comparable, Comparable): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testF visibility:public modality:FINAL <> (x:kotlin.Comparable, y:kotlin.Comparable) returnType:kotlin.Boolean flags:[]' 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 x: Comparable' type=kotlin.Comparable origin=null + 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 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 y: Comparable' type=kotlin.Comparable origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'less(Float, Float): Boolean' type=kotlin.Boolean origin=LT + 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: 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 x: Comparable' type=kotlin.Comparable origin=null + 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 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 y: Comparable' type=kotlin.Comparable origin=null + 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 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 98766d00a61..3deaf7040bb 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/eqeqRhsConditionPossiblyAffectingLhs.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/eqeqRhsConditionPossiblyAffectingLhs.txt @@ -1,30 +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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(Any): Boolean' - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null + 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 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 x: Any' type=kotlin.Any origin=null + 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: 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? flags:[val] CONST Null type=kotlin.Nothing? value=null WHEN type=kotlin.Nothing origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_notnull: Nothing?' type=kotlin.Nothing? origin=null + 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 arg1: CONST Null type=kotlin.Nothing? value=null - then: CALL 'THROW_NPE(): Nothing' type=kotlin.Nothing origin=EXCLEXCL + then: CALL 'FUN IR_BUILTINS_STUB name:THROW_NPE visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[]' type=kotlin.Nothing origin=EXCLEXCL BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'tmp0_notnull: Nothing?' type=kotlin.Nothing? origin=null + then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:kotlin.Nothing? flags:[val]' 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 x: Any' type=kotlin.Any origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointCompareTo.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointCompareTo.txt index 12f905cd096..2df56edc448 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointCompareTo.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointCompareTo.txt @@ -1,226 +1,225 @@ 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1d(Double, Double): Int' - CALL 'compareTo(Double): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null - other: GET_VAR 'value-parameter y: Double' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2d(Double, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 y: Any' type=kotlin.Any origin=null - then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'compareTo(Double): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3d(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'compareTo(Double): Int' type=kotlin.Int 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: 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 x: Any' type=kotlin.Any origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Float flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1f(Float, Float): Int' - CALL 'compareTo(Float): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null - other: GET_VAR 'value-parameter y: Float' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2f(Float, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 y: Any' type=kotlin.Any origin=null - then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'compareTo(Float): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3f(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'compareTo(Float): Int' type=kotlin.Int 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: 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 x: Any' type=kotlin.Any origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testFD(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'compareTo(Double): Int' type=kotlin.Int 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: 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 x: Any' type=kotlin.Any origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testDF(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'compareTo(Float): Int' type=kotlin.Int 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.Double, other:kotlin.Float) returnType:kotlin.Int flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Float flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1fr(Float) on Float: Int' - CALL 'compareTo(Float): Int' type=kotlin.Int origin=null - $this: GET_VAR 'this@test1fr: Float' type=kotlin.Float origin=null - other: GET_VAR 'value-parameter x: Float' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2fr(Any) on Float: Boolean' + RETURN type=kotlin.Nothing from='FUN name:test2fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null - then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'compareTo(Float): Int' type=kotlin.Int origin=null - $this: GET_VAR 'this@test2fr: Float' type=kotlin.Float origin=null + 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 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 x: Any' type=kotlin.Any origin=null + 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: 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 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Float flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3fr(Any) on Float: Boolean' + RETURN type=kotlin.Nothing from='FUN name:test3fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null - then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'compareTo(Double): Int' type=kotlin.Int origin=null - $this: GET_VAR 'this@test3fr: Float' type=kotlin.Float origin=null + 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 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 x: Any' type=kotlin.Any origin=null + 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: CONST Int type=kotlin.Int value=0 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/floatingPointEqeq.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointEqeq.txt index e19dd8ca0cd..daead64d2a3 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointEqeq.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointEqeq.txt @@ -1,216 +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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1d(Double, Double): Boolean' - CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null - arg1: GET_VAR 'value-parameter y: Double' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2d(Double, Double?): Boolean' - CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null - arg1: GET_VAR 'value-parameter y: Double?' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3d(Double, Any): Boolean' - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null - arg1: GET_VAR 'value-parameter y: Any' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4d(Double, Number): Boolean' - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null - arg1: GET_VAR 'value-parameter y: Number' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5d(Double, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 y: Any' type=kotlin.Any origin=null - then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test6d(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test6d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ + 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: 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Float flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1f(Float, Float): Boolean' - CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null - arg1: GET_VAR 'value-parameter y: Float' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2f(Float, Float?): Boolean' - CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null - arg1: GET_VAR 'value-parameter y: Float?' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3f(Float, Any): Boolean' - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null - arg1: GET_VAR 'value-parameter y: Any' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4f(Float, Number): Boolean' - CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null - arg1: GET_VAR 'value-parameter y: Number' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5f(Float, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 y: Any' type=kotlin.Any origin=null - then: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test6f(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test6f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EQEQ + 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: 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testFD(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'toDouble(): Double' type=kotlin.Double 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: 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testDF(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ + 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: 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 x: Any' type=kotlin.Any origin=null - arg1: CALL 'toDouble(): Double' type=kotlin.Double origin=null + 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 $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 y: Any' type=kotlin.Any origin=null + 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 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 efedab98e80..21ce1d776d4 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointEquals.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointEquals.txt @@ -1,258 +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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1d(Double, Double): Boolean' - CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null - other: GET_VAR 'value-parameter y: Double' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2d(Double, Double?): Boolean' - CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null - other: GET_VAR 'value-parameter y: Double?' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3d(Double, Any): Boolean' - CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null - other: GET_VAR 'value-parameter y: Any' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4d(Double, Number): Boolean' - CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null - other: GET_VAR 'value-parameter y: Number' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5d(Double, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 y: Any' type=kotlin.Any origin=null - then: CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null - other: GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test6d(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test6d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null - other: GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Float flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1f(Float, Float): Boolean' - CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null - other: GET_VAR 'value-parameter y: Float' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2f(Float, Float?): Boolean' - CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null - other: GET_VAR 'value-parameter y: Float?' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3f(Float, Any): Boolean' - CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null - other: GET_VAR 'value-parameter y: Any' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4f(Float, Number): Boolean' - CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null - other: GET_VAR 'value-parameter y: Number' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5f(Float, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 y: Any' type=kotlin.Any origin=null - then: CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null - other: GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test6f(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test6f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null - other: GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testFD(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null - other: GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testDF(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null - other: GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Float flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1fr(Float) on Float: Boolean' - CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'this@test1fr: Float' type=kotlin.Float origin=null - other: GET_VAR 'value-parameter x: Float' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2fr(Float?) on Float: Boolean' - CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'this@test2fr: Float' type=kotlin.Float origin=null - other: GET_VAR 'value-parameter x: Float?' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3fr(Any) on Float: Boolean' - CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'this@test3fr: Float' type=kotlin.Float origin=null - other: GET_VAR 'value-parameter x: Any' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4fr(Number) on Float: Boolean' - CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'this@test4fr: Float' type=kotlin.Float origin=null - other: GET_VAR 'value-parameter x: Number' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5fr(Any) on Float: Boolean' + RETURN type=kotlin.Nothing from='FUN name:test5fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null - then: CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'this@test5fr: Float' type=kotlin.Float origin=null - other: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null + 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 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 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Float flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test6fr(Any) on Float: Boolean' + RETURN type=kotlin.Nothing from='FUN name:test6fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null - then: CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'this@test6fr: Float' type=kotlin.Float origin=null - other: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null + 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 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 b0099a7d50c..0b24737546a 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointExcleq.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointExcleq.txt @@ -1,230 +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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1d(Double, Double): Boolean' - CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null - arg1: GET_VAR 'value-parameter y: Double' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2d(Double, Double?): Boolean' - CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null - arg1: GET_VAR 'value-parameter y: Double?' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3d(Double, Any): Boolean' - CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null - arg1: GET_VAR 'value-parameter y: Any' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4d(Double, Number): Boolean' - CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null - arg1: GET_VAR 'value-parameter y: Number' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5d(Double, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 y: Any' type=kotlin.Any origin=null - then: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test6d(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test6d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EXCLEQ + 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: 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Float flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1f(Float, Float): Boolean' - CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null - arg1: GET_VAR 'value-parameter y: Float' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2f(Float, Float?): Boolean' - CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null - arg1: GET_VAR 'value-parameter y: Float?' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3f(Float, Any): Boolean' - CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null - arg1: GET_VAR 'value-parameter y: Any' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4f(Float, Number): Boolean' - CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null - arg1: GET_VAR 'value-parameter y: Number' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5f(Float, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 y: Any' type=kotlin.Any origin=null - then: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test6f(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test6f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EXCLEQ + 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: 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testFD(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'toDouble(): Double' type=kotlin.Double 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: 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: 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testDF(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EXCLEQ + 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: 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 x: Any' type=kotlin.Any origin=null - arg1: CALL 'toDouble(): Double' type=kotlin.Double origin=null + 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 $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 y: Any' type=kotlin.Any origin=null + 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 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 04863b4f578..d35a79ddd61 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointLess.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/floatingPointLess.txt @@ -1,168 +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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1d(Double, Double): Boolean' - CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null - arg1: GET_VAR 'value-parameter y: Double' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2d(Double, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 y: Any' type=kotlin.Any origin=null - then: CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3d(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT + 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: 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Float flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Float flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1f(Float, Float): Boolean' - CALL 'less(Float, Float): Boolean' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null - arg1: GET_VAR 'value-parameter y: Float' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2f(Float, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 y: Any' type=kotlin.Any origin=null - then: CALL 'less(Float, Float): Boolean' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3f(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'less(Float, Float): Boolean' type=kotlin.Boolean origin=LT + 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: 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testFD(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT - arg0: CALL 'toDouble(): Double' type=kotlin.Double 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: 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: 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testDF(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT + 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: 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 x: Any' type=kotlin.Any origin=null - arg1: CALL 'toDouble(): Double' type=kotlin.Double origin=null + 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 $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 y: Any' type=kotlin.Any origin=null + 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 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 3f9d96ea583..003a65b10a4 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/nullableAnyAsIntToDouble.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/nullableAnyAsIntToDouble.txt @@ -1,32 +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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Double flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(Any?, Double): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (x:kotlin.Any?, y:kotlin.Double) returnType:kotlin.Boolean flags:[]' 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 x: Any?' type=kotlin.Any? origin=null - then: CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT + 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 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 x: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.Double? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null + 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 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 'toDouble(): Double' type=kotlin.Double origin=null + 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 $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 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null - arg1: GET_VAR 'value-parameter y: Double' type=kotlin.Double origin=null + 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 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 518f880941e..d3a5de60feb 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/nullableFloatingPointEqeq.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/nullableFloatingPointEqeq.txt @@ -1,110 +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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Double? flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Double? flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testDD(Double?, Double?): Boolean' - CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Double?' type=kotlin.Double? origin=null - arg1: GET_VAR 'value-parameter y: Double?' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testDF(Double?, Any?): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testDF visibility:public modality:FINAL <> (x:kotlin.Double?, y:kotlin.Any?) returnType:kotlin.Boolean flags:[]' 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 y: Any?' type=kotlin.Any? origin=null - then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Double?' type=kotlin.Double? origin=null + 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 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 y: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.Double? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null + 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 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 'toDouble(): Double' type=kotlin.Double origin=null + 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 $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 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Double? flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any? flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testDI(Double?, Any?): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testDI visibility:public modality:FINAL <> (x:kotlin.Double?, y:kotlin.Any?) returnType:kotlin.Boolean flags:[]' 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 y: Any?' type=kotlin.Any? origin=null - then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Double?' type=kotlin.Double? origin=null + 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 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 y: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.Double? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null + 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 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 'toDouble(): Double' type=kotlin.Double origin=null + 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 $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 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any? flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testDI2(Any?, Any?): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testDI2 visibility:public modality:FINAL <> (x:kotlin.Any?, y:kotlin.Any?) returnType:kotlin.Boolean flags:[]' 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 x: Any?' type=kotlin.Any? origin=null + 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: 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 y: Any?' type=kotlin.Any? origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ + 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: BLOCK type=kotlin.Double? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:val - GET_VAR 'value-parameter x: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.Double? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null + 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 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 'toDouble(): Double' type=kotlin.Double origin=null + 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 $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 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null + 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: 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 y: Any?' type=kotlin.Any? origin=null + 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 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 110cbb63467..d7720be8fe5 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.txt @@ -1,176 +1,175 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt - FUN name:test0 visibility:public modality:FINAL (x:kotlin.Any, y:T) returnType:kotlin.Boolean flags: + FUN name:test0 visibility:public modality:FINAL (x:kotlin.Any, y:.test0.T) returnType:kotlin.Boolean flags:[] 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:T flags: + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:.test0.T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test0(Any, T): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test0 visibility:public modality:FINAL (x:kotlin.Any, y:.test0.T) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null - then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null - arg1: GET_VAR 'value-parameter y: T' type=T origin=null + 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 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:T) returnType:kotlin.Boolean flags: + FUN name:test1 visibility:public modality:FINAL (x:kotlin.Any, y:.test1.T) returnType:kotlin.Boolean flags:[] 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:T flags: + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:.test1.T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(Any, T): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL (x:kotlin.Any, y:.test1.T) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null - then: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EQEQ + 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 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 x: Any' type=kotlin.Any origin=null - arg1: GET_VAR 'value-parameter y: T' type=T origin=null + 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 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:T) returnType:kotlin.Boolean flags: + FUN name:test2 visibility:public modality:FINAL (x:kotlin.Any, y:.test2.T) returnType:kotlin.Boolean flags:[] 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:T flags: + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:.test2.T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(Any, T): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL (x:kotlin.Any, y:.test2.T) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null - then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'toDouble(): Double' type=kotlin.Double origin=null + 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 $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 x: Any' type=kotlin.Any origin=null - arg1: GET_VAR 'value-parameter y: T' type=T origin=null + 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 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:T) returnType:kotlin.Boolean flags: + FUN name:test3 visibility:public modality:FINAL (x:kotlin.Any, y:.test3.T) returnType:kotlin.Boolean flags:[] 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:T flags: + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:.test3.T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(Any, T): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL (x:kotlin.Any, y:.test3.T) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null - then: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'toFloat(): Float' type=kotlin.Float origin=null + 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 $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 x: Any' type=kotlin.Any origin=null - arg1: GET_VAR 'value-parameter y: T' type=T origin=null + 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 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:T) returnType:kotlin.Boolean flags: + FUN name:test4 visibility:public modality:FINAL (x:kotlin.Any, y:.test4.T) returnType:kotlin.Boolean flags:[] 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:T flags: + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:.test4.T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4(Any, T): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL (x:kotlin.Any, y:.test4.T) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null - then: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'toFloat(): Float' type=kotlin.Float origin=null + 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 $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 x: Any' type=kotlin.Any origin=null - arg1: GET_VAR 'value-parameter y: T' type=T origin=null + 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 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:R) returnType:kotlin.Boolean flags: + FUN name:test5 visibility:public modality:FINAL (x:kotlin.Any, y:.test5.R) returnType:kotlin.Boolean flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float?] - TYPE_PARAMETER name:R index:1 variance: superTypes:[T] - VALUE_PARAMETER name:x index:0 type:kotlin.Any flags: - VALUE_PARAMETER name:y index:1 type:R flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5(Any, R): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test5 visibility:public modality:FINAL (x:kotlin.Any, y:.test5.R) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null - then: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'toFloat(): Float' type=kotlin.Float origin=null + 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 $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 x: Any' type=kotlin.Any origin=null - arg1: GET_VAR 'value-parameter y: R' type=R origin=null + 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 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:T) returnType:kotlin.Boolean flags: + FUN name:test6 visibility:public modality:FINAL (x:kotlin.Any, y:.test6.T) returnType:kotlin.Boolean flags:[] 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:T flags: + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:.test6.T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test6(Any, T): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test6 visibility:public modality:FINAL (x:kotlin.Any, y:.test6.T) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null - then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null - arg1: GET_VAR 'value-parameter y: T' type=T origin=null + 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 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 flags: + CLASS CLASS name:F modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F<.F.T> flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] - CONSTRUCTOR visibility:public <> () returnType:F flags:primary + CONSTRUCTOR visibility:public <> () returnType:.F<.F.T> flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='F' - FUN name:testCapturedType visibility:public modality:FINAL <> ($this:F, x:T, y:kotlin.Any) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:F flags: - VALUE_PARAMETER name:x index:0 type:T flags: - VALUE_PARAMETER name:y index:1 type:kotlin.Any flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testCapturedType(T, Any): Boolean' + 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:[]' 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 y: Any' type=kotlin.Any origin=null - then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: CALL 'toDouble(): Double' type=kotlin.Double origin=null - $this: GET_VAR 'value-parameter x: T' type=T origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/whenByFloatingPoint.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/whenByFloatingPoint.txt index aacb5a748d5..bd4c5e367b8 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/whenByFloatingPoint.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/whenByFloatingPoint.txt @@ -1,162 +1,161 @@ 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testSimple(Double): Int' + RETURN type=kotlin.Nothing from='FUN name:testSimple visibility:public modality:FINAL <> (x:kotlin.Double) returnType:kotlin.Int flags:[]' BLOCK type=kotlin.Int origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Double flags:val - GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null + 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 WHEN type=kotlin.Int origin=WHEN BRANCH - if: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Double' type=kotlin.Double origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] 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 x: Any' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='testSmartCastInWhenSubject(Any): Int' + 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:[]' CONST Int type=kotlin.Int value=-1 - RETURN type=kotlin.Nothing from='testSmartCastInWhenSubject(Any): Int' + RETURN type=kotlin.Nothing from='FUN name:testSmartCastInWhenSubject visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int flags:[]' BLOCK type=kotlin.Int origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any flags:val - GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null + 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 WHEN type=kotlin.Int origin=WHEN BRANCH - if: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ + 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: 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 'tmp0_subject: Any' type=kotlin.Any origin=null + 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: 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] 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 y: Any' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='testSmartCastInWhenCondition(Double, Any): Int' + 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:[]' CONST Int type=kotlin.Int value=-1 - RETURN type=kotlin.Nothing from='testSmartCastInWhenCondition(Double, Any): Int' + RETURN type=kotlin.Nothing from='FUN name:testSmartCastInWhenCondition visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Int flags:[]' BLOCK type=kotlin.Int origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Double flags:val - GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null + 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 WHEN type=kotlin.Int origin=WHEN BRANCH - if: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Double' type=kotlin.Double origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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: 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testSmartCastInWhenConditionInBranch(Any): Int' + RETURN type=kotlin.Nothing from='FUN name:testSmartCastInWhenConditionInBranch visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int flags:[]' BLOCK type=kotlin.Int origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any flags:val - GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null + 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 WHEN type=kotlin.Int origin=WHEN BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCL + 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: 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 'tmp0_subject: Any' type=kotlin.Any origin=null + 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 then: CONST Int type=kotlin.Int value=-1 BRANCH - if: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ + 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: 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 'tmp0_subject: Any' type=kotlin.Any origin=null + 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: 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] 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 x: Any' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='testSmartCastToDifferentTypes(Any, Any): Int' + 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:[]' 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 y: Any' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='testSmartCastToDifferentTypes(Any, Any): Int' + 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:[]' CONST Int type=kotlin.Int value=-1 - RETURN type=kotlin.Nothing from='testSmartCastToDifferentTypes(Any, Any): Int' + RETURN type=kotlin.Nothing from='FUN name:testSmartCastToDifferentTypes visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Int flags:[]' BLOCK type=kotlin.Int origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any flags:val - GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null + 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 WHEN type=kotlin.Int origin=WHEN BRANCH - if: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ + 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: 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 'tmp0_subject: Any' type=kotlin.Any origin=null - arg1: CALL 'toDouble(): Double' type=kotlin.Double origin=null + 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 $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 y: Any' type=kotlin.Any origin=null + 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: 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Double flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(Double): Double' - GET_VAR 'value-parameter x: Double' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testWithPrematureExitInConditionSubexpression(Any): Int' + RETURN type=kotlin.Nothing from='FUN name:testWithPrematureExitInConditionSubexpression visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int flags:[]' BLOCK type=kotlin.Int origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any flags:val - GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null + 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 WHEN type=kotlin.Int origin=WHEN BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Any' type=kotlin.Any origin=null - arg1: CALL 'foo(Double): Double' type=kotlin.Double origin=null + 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 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 x: Any' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='testWithPrematureExitInConditionSubexpression(Any): Int' + 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:[]' 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 x: Any' type=kotlin.Any origin=null + 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: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Int type=kotlin.Int value=1 - diff --git a/compiler/testData/ir/irText/expressions/for.txt b/compiler/testData/ir/irText/expressions/for.txt index 50f8fd9c568..db8e6eb8c43 100644 --- a/compiler/testData/ir/irText/expressions/for.txt +++ b/compiler/testData/ir/irText/expressions/for.txt @@ -1,58 +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 flags:[] + VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:val - CALL 'iterator(): Iterator' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'value-parameter ss: List' type=kotlin.collections.List origin=null + 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 WHILE label=null origin=FOR_LOOP_INNER_WHILE - condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'tmp0_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:val - CALL 'next(): T' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'tmp0_iterator: Iterator' 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 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:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:val - CALL 'iterator(): Iterator' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'value-parameter ss: List' type=kotlin.collections.List origin=null + 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 WHILE label=null origin=FOR_LOOP_INNER_WHILE - condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'tmp0_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:val - CALL 'next(): T' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'tmp0_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 BLOCK type=kotlin.Unit origin=null - CALL 'println(Any?): Unit' type=kotlin.Unit origin=null - message: GET_VAR 's: String' 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 '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:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator> flags:val - CALL 'iterator(): Iterator' type=kotlin.collections.Iterator> origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'value-parameter pp: List>' type=kotlin.collections.List> origin=null + 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 WHILE label=null origin=FOR_LOOP_INNER_WHILE - condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'tmp0_iterator: Iterator>' type=kotlin.collections.Iterator> origin=null + 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 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 'next(): T' type=kotlin.Pair origin=FOR_LOOP_NEXT - $this: GET_VAR 'tmp0_iterator: Iterator>' type=kotlin.collections.Iterator> origin=null - VAR name:i type:kotlin.Int flags:val - CALL 'component1(): A' type=kotlin.Int origin=COMPONENT_N(index=1) - $this: GET_VAR 'tmp1_loop_parameter: Pair' type=kotlin.Pair origin=null - VAR name:s type:kotlin.String flags:val - CALL 'component2(): B' type=kotlin.String origin=COMPONENT_N(index=2) - $this: GET_VAR 'tmp1_loop_parameter: Pair' type=kotlin.Pair origin=null + 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 BLOCK type=kotlin.Unit origin=null - CALL 'println(Int): Unit' type=kotlin.Unit origin=null - message: GET_VAR 'i: Int' type=kotlin.Int origin=null - CALL 'println(Any?): Unit' type=kotlin.Unit origin=null - message: GET_VAR 's: String' type=kotlin.String 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 diff --git a/compiler/testData/ir/irText/expressions/forWithBreakContinue.txt b/compiler/testData/ir/irText/expressions/forWithBreakContinue.txt index b9a38df981d..ea9f69f5d78 100644 --- a/compiler/testData/ir/irText/expressions/forWithBreakContinue.txt +++ b/compiler/testData/ir/irText/expressions/forWithBreakContinue.txt @@ -1,96 +1,95 @@ 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 flags:[] + VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:val - CALL 'iterator(): Iterator' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'value-parameter ss: List' type=kotlin.collections.List origin=null + 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 WHILE label=null origin=FOR_LOOP_INNER_WHILE - condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'tmp0_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:val - CALL 'next(): T' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'tmp0_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 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 flags:[] + VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:val - CALL 'iterator(): Iterator' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'value-parameter ss: List' type=kotlin.collections.List origin=null + 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 WHILE label=OUTER origin=FOR_LOOP_INNER_WHILE - condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'tmp0_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s1 type:kotlin.String flags:val - CALL 'next(): T' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'tmp0_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 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 'iterator(): Iterator' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'value-parameter ss: List' type=kotlin.collections.List origin=null + 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 WHILE label=INNER origin=FOR_LOOP_INNER_WHILE - condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'tmp1_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s2 type:kotlin.String flags:val - CALL 'next(): T' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'tmp1_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 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 flags:[] + VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:val - CALL 'iterator(): Iterator' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'value-parameter ss: List' type=kotlin.collections.List origin=null + 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 WHILE label=null origin=FOR_LOOP_INNER_WHILE - condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'tmp0_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:val - CALL 'next(): T' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'tmp0_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 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 flags:[] + VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List flags:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator flags:val - CALL 'iterator(): Iterator' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'value-parameter ss: List' type=kotlin.collections.List origin=null + 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 WHILE label=OUTER origin=FOR_LOOP_INNER_WHILE - condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'tmp0_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s1 type:kotlin.String flags:val - CALL 'next(): T' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'tmp0_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 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 'iterator(): Iterator' type=kotlin.collections.Iterator origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'value-parameter ss: List' type=kotlin.collections.List origin=null + 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 WHILE label=INNER origin=FOR_LOOP_INNER_WHILE - condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'tmp1_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:s2 type:kotlin.String flags:val - CALL 'next(): T' type=kotlin.String origin=FOR_LOOP_NEXT - $this: GET_VAR 'tmp1_iterator: Iterator' type=kotlin.collections.Iterator origin=null + 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 BLOCK type=kotlin.Nothing origin=null CONTINUE label=OUTER loop.label=OUTER CONTINUE label=INNER loop.label=INNER CONTINUE label=null loop.label=INNER CONTINUE label=OUTER loop.label=OUTER - diff --git a/compiler/testData/ir/irText/expressions/forWithImplicitReceivers.txt b/compiler/testData/ir/irText/expressions/forWithImplicitReceivers.txt index 9475309973d..8f540092caf 100644 --- a/compiler/testData/ir/irText/expressions/forWithImplicitReceivers.txt +++ b/compiler/testData/ir/irText/expressions/forWithImplicitReceivers.txt @@ -1,128 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FiveTimes flags:[] + CONSTRUCTOR visibility:private <> () returnType:.FiveTimes flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='FiveTimes' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='IntCell' - PROPERTY name:value visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public flags: + 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:[] EXPRESSION_BODY - GET_VAR 'value-parameter value: Int' 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_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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'value: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@IntCell: IntCell' 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='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:[] BLOCK_BODY - SET_FIELD 'value: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@IntCell: IntCell' type=IntCell 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='iterator() on FiveTimes: IntCell' - CALL 'constructor IntCell(Int)' type=IntCell origin=null + 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 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 flags:[] + $this: VALUE_PARAMETER name: type:.IReceiver flags:[] + $receiver: VALUE_PARAMETER name: type:.IntCell flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='hasNext() on IntCell: Boolean' - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT - arg0: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@hasNext: IntCell' type=IntCell origin=null + 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 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 flags:[] + $this: VALUE_PARAMETER name: type:.IReceiver flags:[] + $receiver: VALUE_PARAMETER name: type:.IntCell flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='next() on IntCell: Int' + RETURN type=kotlin.Nothing from='FUN name:next visibility:public modality:OPEN <> ($this:.IReceiver, $receiver:.IntCell) returnType:kotlin.Int flags:[]' BLOCK type=kotlin.Int origin=POSTFIX_DECR - VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:IntCell flags:val - GET_VAR 'this@next: IntCell' type=IntCell origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:.IntCell flags:[val] + GET_VAR 'VALUE_PARAMETER name: type:.IntCell flags:[]' type=.IntCell origin=null BLOCK type=kotlin.Int origin=POSTFIX_DECR - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:val - CALL '(): Int' type=kotlin.Int origin=POSTFIX_DECR - $this: GET_VAR 'tmp0_this: IntCell' type=IntCell origin=null - CALL '(Int): Unit' type=kotlin.Unit origin=POSTFIX_DECR - $this: GET_VAR 'tmp0_this: IntCell' type=IntCell origin=null - : CALL 'dec(): Int' type=kotlin.Int origin=POSTFIX_DECR - $this: GET_VAR 'tmp1: Int' type=kotlin.Int origin=null - GET_VAR 'tmp1: 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: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP - VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:IntCell flags:val - CALL 'iterator() on FiveTimes: IntCell' type=IntCell origin=FOR_LOOP_ITERATOR - $this: GET_VAR 'this@test: IReceiver' type=IReceiver origin=null - $receiver: GET_OBJECT 'FiveTimes' type=FiveTimes + 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 WHILE label=null origin=FOR_LOOP_INNER_WHILE - condition: CALL 'hasNext() on IntCell: Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT - $this: GET_VAR 'this@test: IReceiver' type=IReceiver origin=null - $receiver: GET_VAR 'tmp0_iterator: IntCell' type=IntCell origin=null + 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 body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE - VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int flags:val - CALL 'next() on IntCell: Int' type=kotlin.Int origin=FOR_LOOP_NEXT - $this: GET_VAR 'this@test: IReceiver' type=IReceiver origin=null - $receiver: GET_VAR 'tmp0_iterator: IntCell' type=IntCell origin=null + 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 BLOCK type=kotlin.Unit origin=null - CALL 'println(Int): Unit' type=kotlin.Unit origin=null - message: GET_VAR 'i: Int' type=kotlin.Int 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 diff --git a/compiler/testData/ir/irText/expressions/funImportedFromObject.txt b/compiler/testData/ir/irText/expressions/funImportedFromObject.txt index 8e0273bd780..96dea8b67d3 100644 --- a/compiler/testData/ir/irText/expressions/funImportedFromObject.txt +++ b/compiler/testData/ir/irText/expressions/funImportedFromObject.txt @@ -1,33 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.Host flags:[] + CONSTRUCTOR visibility:private <> () returnType:test.Host flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Host' - FUN name:foo visibility:public modality:FINAL ($this:test.Host) returnType:kotlin.String flags:inline + 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] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(): String' + RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL ($this:test.Host) returnType:kotlin.String flags:[inline]' 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.String flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(): String' - CALL 'foo(): String' type=kotlin.String origin=null + 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 : kotlin.Any - $this: GET_OBJECT 'Host' type=test.Host - + $this: GET_OBJECT 'CLASS OBJECT name:Host modality:FINAL visibility:public flags:[] 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 118285c4250..179e193a541 100644 --- a/compiler/testData/ir/irText/expressions/genericPropertyCall.txt +++ b/compiler/testData/ir/irText/expressions/genericPropertyCall.txt @@ -1,21 +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 flags:[val] + FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:..T flags:[] + correspondingProperty: PROPERTY name:id visibility:public modality:FINAL flags:[val] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:T flags: + $receiver: VALUE_PARAMETER name: type:..T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on T: T' - GET_VAR 'this@id: T' 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='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] EXPRESSION_BODY - CALL '() on T: T' type=kotlin.String origin=GET_PROPERTY + CALL 'FUN name: visibility:public modality:FINAL ($receiver:..T) returnType:..T flags:[]' 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 flags:[] + correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'test: String' type=kotlin.String origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/identity.txt b/compiler/testData/ir/irText/expressions/identity.txt index fe991a7f329..e25063aab17 100644 --- a/compiler/testData/ir/irText/expressions/identity.txt +++ b/compiler/testData/ir/irText/expressions/identity.txt @@ -1,27 +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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] + VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(Int, Int): Boolean' - CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - arg1: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(Int, Int): Boolean' - CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQEQ - arg0: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQEQ - arg0: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - arg1: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(Any?, Any?): Boolean' - CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'value-parameter a: Any?' type=kotlin.Any? origin=null - arg1: GET_VAR 'value-parameter b: Any?' type=kotlin.Any? origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/ifElseIf.txt b/compiler/testData/ir/irText/expressions/ifElseIf.txt index 3a9010a8a91..8b5847609de 100644 --- a/compiler/testData/ir/irText/expressions/ifElseIf.txt +++ b/compiler/testData/ir/irText/expressions/ifElseIf.txt @@ -1,20 +1,19 @@ 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 flags:[] + VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(Int): Int' + RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Int flags:[]' WHEN type=kotlin.Int origin=IF BRANCH - if: CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT - arg0: GET_VAR 'value-parameter i: Int' type=kotlin.Int origin=null + 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 arg1: CONST Int type=kotlin.Int value=0 then: CONST Int type=kotlin.Int value=1 BRANCH - if: CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'value-parameter i: Int' type=kotlin.Int origin=null + 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 arg1: CONST Int type=kotlin.Int value=0 then: CONST Int type=kotlin.Int value=-1 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Int type=kotlin.Int value=0 - diff --git a/compiler/testData/ir/irText/expressions/implicitCastOnPlatformType.txt b/compiler/testData/ir/irText/expressions/implicitCastOnPlatformType.txt index 2df87557323..95c62efb356 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(): String' - CALL 'getProperty(String!): String!' type=kotlin.String? origin=null + 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 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 6504a1d2057..52ef44b487b 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.String? flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(String?): Int' + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.String?) returnType:kotlin.Int flags:[]' WHEN type=kotlin.Int origin=IF BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: String?' type=kotlin.String? origin=null + 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 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 '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'value-parameter x: String?' type=kotlin.String? origin=null - FUN name:test2 visibility:public modality:FINAL (x:T) returnType:kotlin.Int flags: + 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:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?] - VALUE_PARAMETER name:x index:0 type:T flags: + VALUE_PARAMETER name:x index:0 type:.test2.T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(T): Int' + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL (x:.test2.T) returnType:kotlin.Int flags:[]' WHEN type=kotlin.Int origin=IF BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: T' type=T origin=null + 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 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 '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'value-parameter x: T' type=T origin=null - FUN name:test3 visibility:public modality:FINAL (x:kotlin.Any) returnType:kotlin.Int flags:inline + 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] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(Any): Int' + RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL (x:kotlin.Any) returnType:kotlin.Int flags:[inline]' WHEN type=kotlin.Int origin=IF BRANCH - if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=T + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.test3.T typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?] - GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null + GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY + 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: 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 x: Any' 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 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] 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? flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4(Any?): Int' + RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL (x:kotlin.Any?) returnType:kotlin.Int flags:[inline]' WHEN type=kotlin.Int origin=IF BRANCH - if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=T + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.test4.T typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence] - GET_VAR 'value-parameter x: Any?' type=kotlin.Any? origin=null + GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[]' type=kotlin.Any? origin=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY + 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: 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 x: Any?' type=kotlin.Any? origin=null - FUN name:test5 visibility:public modality:FINAL (x:T, fn:kotlin.Function1) returnType:kotlin.Unit flags: - TYPE_PARAMETER name:T index:0 variance: superTypes:[S?] + 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?] TYPE_PARAMETER name:S index:1 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:x index:0 type:T flags: - VALUE_PARAMETER name:fn index:1 type:kotlin.Function1 flags: + VALUE_PARAMETER name:x index:0 type:.test5.T flags:[] + VALUE_PARAMETER name:fn index:1 type:kotlin.Function1<.test5.S, kotlin.Unit> flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'value-parameter x: T' type=T origin=null + 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 arg1: CONST Null type=kotlin.Nothing? value=null - then: CALL 'invoke(P1): R' type=kotlin.Unit origin=INVOKE - $this: GET_VAR 'value-parameter fn: (S) -> Unit' type=kotlin.Function1 origin=VARIABLE_AS_FUNCTION - p1: GET_VAR 'value-parameter x: T' type=T origin=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 diff --git a/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.txt b/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.txt index a7f89573829..9a4c841c148 100644 --- a/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.txt +++ b/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.txt @@ -1,90 +1,89 @@ FILE fqName: fileName:/implicitCastToTypeParameter.kt - FUN name:test1 visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:T? flags:inline + FUN name:test1 visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:.test1.T? flags:[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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1() on Any: T?' - WHEN type=T? origin=IF + 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 BRANCH - if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=T + if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=.test1.T typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] - GET_VAR 'this@test1: Any' type=kotlin.Any origin=null - then: TYPE_OP type=T origin=IMPLICIT_CAST typeOperand=T + 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 typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] - GET_VAR 'this@test1: Any' type=kotlin.Any origin=null + GET_VAR 'VALUE_PARAMETER name: type:kotlin.Any flags:[]' 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 flags: + CLASS INTERFACE name:Foo modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Foo<.Foo.T> flags:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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) 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 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] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] - $receiver: VALUE_PARAMETER name: type:Foo flags: + $receiver: VALUE_PARAMETER name: type:.Foo<..T> flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on Foo: T?' - WHEN type=T? origin=IF + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL ($receiver:.Foo<..T>) returnType:..T? flags:[inline]' + WHEN type=..T? origin=IF BRANCH - if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=T + if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=..T typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] - GET_VAR 'this@asT: Foo' type=Foo origin=null - then: TYPE_OP type=T origin=IMPLICIT_CAST typeOperand=T + GET_VAR 'VALUE_PARAMETER name: type:.Foo<..T> flags:[]' type=.Foo<..T> origin=null + then: TYPE_OP type=..T origin=IMPLICIT_CAST typeOperand=..T typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] - GET_VAR 'this@asT: Foo' type=Foo origin=null + GET_VAR 'VALUE_PARAMETER name: type:.Foo<..T> flags:[]' type=.Foo<..T> 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 flags: + CLASS CLASS name:Bar modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Bar<.Bar.T> flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:Bar flags:primary + CONSTRUCTOR visibility:public <> () returnType:.Bar<.Bar.T> flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Bar' - FUN name:test visibility:public modality:FINAL <> ($this:Bar, arg:kotlin.Any) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:Bar flags: - VALUE_PARAMETER name:arg index:0 type:kotlin.Any flags: + 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:[] 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=T origin=CAST typeOperand=T + 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: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'value-parameter arg: Any' type=kotlin.Any origin=null - CALL 'useT(T): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@Bar: Bar' type=Bar origin=null - t: TYPE_OP type=T origin=IMPLICIT_CAST typeOperand=T + 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 typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'value-parameter arg: Any' type=kotlin.Any origin=null - FUN name:useT visibility:public modality:FINAL <> ($this:Bar, t:T) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:Bar flags: - VALUE_PARAMETER name:t index:0 type:T flags: + 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:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/in.txt b/compiler/testData/ir/irText/expressions/in.txt index 22d7a8179f0..95763e27c81 100644 --- a/compiler/testData/ir/irText/expressions/in.txt +++ b/compiler/testData/ir/irText/expressions/in.txt @@ -1,38 +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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(Any, Collection): Boolean' - CALL 'contains(E): Boolean' type=kotlin.Boolean origin=IN - $this: GET_VAR 'value-parameter x: Collection' type=kotlin.collections.Collection origin=null - element: GET_VAR 'value-parameter a: Any' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(Any, Collection): Boolean' - CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=NOT_IN - arg0: CALL 'contains(E): Boolean' type=kotlin.Boolean origin=NOT_IN - $this: GET_VAR 'value-parameter x: Collection' type=kotlin.collections.Collection origin=null - element: GET_VAR 'value-parameter a: Any' type=kotlin.Any origin=null - FUN name:test3 visibility:public modality:FINAL (a:T, x:kotlin.collections.Collection) returnType:kotlin.Boolean flags: + 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:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:a index:0 type:T flags: - VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection flags: + VALUE_PARAMETER name:a index:0 type:.test3.T flags:[] + VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection<.test3.T> flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(T, Collection): Boolean' - CALL 'contains(E): Boolean' type=kotlin.Boolean origin=IN - $this: GET_VAR 'value-parameter x: Collection' type=kotlin.collections.Collection origin=null - element: GET_VAR 'value-parameter a: T' type=T origin=null - FUN name:test4 visibility:public modality:FINAL (a:T, x:kotlin.collections.Collection) returnType:kotlin.Boolean flags: + 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:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:a index:0 type:T flags: - VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection flags: + VALUE_PARAMETER name:a index:0 type:.test4.T flags:[] + VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection<.test4.T> flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4(T, Collection): Boolean' - CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=NOT_IN - arg0: CALL 'contains(E): Boolean' type=kotlin.Boolean origin=NOT_IN - $this: GET_VAR 'value-parameter x: Collection' type=kotlin.collections.Collection origin=null - element: GET_VAR 'value-parameter a: T' type=T origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/incrementDecrement.txt b/compiler/testData/ir/irText/expressions/incrementDecrement.txt index ec3bb12926f..4a015cf82bd 100644 --- a/compiler/testData/ir/irText/expressions/incrementDecrement.txt +++ b/compiler/testData/ir/irText/expressions/incrementDecrement.txt @@ -1,168 +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 flags:[var] + FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'p: Int' 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='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:[] BLOCK_BODY - SET_FIELD 'p: Int' type=kotlin.Unit origin=null - value: GET_VAR 'value-parameter : Int' 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 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] EXPRESSION_BODY - CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray origin=null + CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:intArrayOf visibility:public modality:FINAL <> (elements:kotlin.IntArray) returnType:kotlin.IntArray flags:[]' 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 flags:[] + correspondingProperty: PROPERTY name:arr visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): IntArray' - GET_FIELD 'arr: IntArray' type=kotlin.IntArray origin=null - FUN name:testVarPrefix visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + 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:[] BLOCK_BODY - VAR name:x type:kotlin.Int flags:var + VAR name:x type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - VAR name:x1 type:kotlin.Int flags:val + VAR name:x1 type:kotlin.Int flags:[val] BLOCK type=kotlin.Int origin=PREFIX_INCR - SET_VAR 'x: Int' type=kotlin.Unit origin=PREFIX_INCR - CALL 'inc(): Int' type=kotlin.Int origin=PREFIX_INCR - $this: GET_VAR 'x: Int' type=kotlin.Int origin=PREFIX_INCR - GET_VAR 'x: Int' type=kotlin.Int origin=PREFIX_INCR - VAR name:x2 type:kotlin.Int flags:val + 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] BLOCK type=kotlin.Int origin=PREFIX_DECR - SET_VAR 'x: Int' type=kotlin.Unit origin=PREFIX_DECR - CALL 'dec(): Int' type=kotlin.Int origin=PREFIX_DECR - $this: GET_VAR 'x: Int' type=kotlin.Int origin=PREFIX_DECR - GET_VAR 'x: Int' type=kotlin.Int origin=PREFIX_DECR - FUN name:testVarPostfix visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + 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:[] BLOCK_BODY - VAR name:x type:kotlin.Int flags:var + VAR name:x type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - VAR name:x1 type:kotlin.Int flags:val + VAR name:x1 type:kotlin.Int flags:[val] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:val - GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'x: Int' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp0: Int' type=kotlin.Int origin=null - GET_VAR 'tmp0: Int' type=kotlin.Int origin=null - VAR name:x2 type:kotlin.Int flags:val + 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] BLOCK type=kotlin.Int origin=POSTFIX_DECR - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:val - GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_DECR - SET_VAR 'x: Int' type=kotlin.Unit origin=POSTFIX_DECR - CALL 'dec(): Int' type=kotlin.Int origin=POSTFIX_DECR - $this: GET_VAR 'tmp1: Int' type=kotlin.Int origin=null - GET_VAR 'tmp1: Int' 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 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:[] BLOCK_BODY - VAR name:p1 type:kotlin.Int flags:val + VAR name:p1 type:kotlin.Int flags:[val] BLOCK type=kotlin.Int origin=PREFIX_INCR BLOCK type=kotlin.Int origin=PREFIX_INCR - CALL '(Int): Unit' type=kotlin.Unit origin=PREFIX_INCR - : CALL 'inc(): Int' type=kotlin.Int origin=PREFIX_INCR - $this: CALL '(): Int' type=kotlin.Int origin=PREFIX_INCR - CALL '(): Int' type=kotlin.Int origin=PREFIX_INCR - VAR name:p2 type:kotlin.Int flags:val + 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] BLOCK type=kotlin.Int origin=PREFIX_DECR BLOCK type=kotlin.Int origin=PREFIX_DECR - CALL '(Int): Unit' type=kotlin.Unit origin=PREFIX_DECR - : CALL 'dec(): Int' type=kotlin.Int origin=PREFIX_DECR - $this: CALL '(): Int' type=kotlin.Int origin=PREFIX_DECR - CALL '(): Int' type=kotlin.Int origin=PREFIX_DECR - FUN name:testPropPostfix visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + 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:[] BLOCK_BODY - VAR name:p1 type:kotlin.Int flags:val + VAR name:p1 type:kotlin.Int flags:[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 '(): Int' type=kotlin.Int origin=POSTFIX_INCR - CALL '(Int): Unit' type=kotlin.Unit origin=POSTFIX_INCR - : CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp0: Int' type=kotlin.Int origin=null - GET_VAR 'tmp0: Int' type=kotlin.Int origin=null - VAR name:p2 type:kotlin.Int flags:val + 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] BLOCK type=kotlin.Int origin=PREFIX_DECR BLOCK type=kotlin.Int origin=PREFIX_DECR - CALL '(Int): Unit' type=kotlin.Unit origin=PREFIX_DECR - : CALL 'dec(): Int' type=kotlin.Int origin=PREFIX_DECR - $this: CALL '(): Int' type=kotlin.Int origin=PREFIX_DECR - CALL '(): Int' type=kotlin.Int origin=PREFIX_DECR - FUN name:testArrayPrefix visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + 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:[] BLOCK_BODY - VAR name:a1 type:kotlin.Int flags:val + VAR name:a1 type:kotlin.Int flags:[val] BLOCK type=kotlin.Int origin=PREFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:val - CALL '(): IntArray' 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 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] CONST Int type=kotlin.Int value=0 - CALL 'set(Int, Int): Unit' type=kotlin.Unit origin=PREFIX_INCR - $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - value: CALL 'inc(): Int' type=kotlin.Int origin=PREFIX_INCR - $this: CALL 'get(Int): Int' type=kotlin.Int origin=PREFIX_INCR - $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - CALL 'get(Int): Int' type=kotlin.Int origin=PREFIX_INCR - $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - VAR name:a2 type:kotlin.Int flags:val + 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] BLOCK type=kotlin.Int origin=PREFIX_DECR - VAR IR_TEMPORARY_VARIABLE name:tmp2_array type:kotlin.IntArray flags:val - CALL '(): IntArray' 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 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] CONST Int type=kotlin.Int value=0 - CALL 'set(Int, Int): Unit' type=kotlin.Unit origin=PREFIX_DECR - $this: GET_VAR 'tmp2_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp3_index0: Int' type=kotlin.Int origin=null - value: CALL 'dec(): Int' type=kotlin.Int origin=PREFIX_DECR - $this: CALL 'get(Int): Int' type=kotlin.Int origin=PREFIX_DECR - $this: GET_VAR 'tmp2_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp3_index0: Int' type=kotlin.Int origin=null - CALL 'get(Int): Int' type=kotlin.Int origin=PREFIX_DECR - $this: GET_VAR 'tmp2_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp3_index0: Int' type=kotlin.Int origin=null - FUN name:testArrayPostfix visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + 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:[] BLOCK_BODY - VAR name:a1 type:kotlin.Int flags:val + VAR name:a1 type:kotlin.Int flags:[val] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:val - CALL '(): IntArray' 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 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] CONST Int type=kotlin.Int value=0 - VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:val - CALL 'get(Int): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - CALL 'set(Int, Int): Unit' type=kotlin.Unit origin=POSTFIX_INCR - $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - value: CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp2: Int' type=kotlin.Int origin=null - GET_VAR 'tmp2: Int' type=kotlin.Int origin=null - VAR name:a2 type:kotlin.Int flags:val + 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] BLOCK type=kotlin.Int origin=POSTFIX_DECR - VAR IR_TEMPORARY_VARIABLE name:tmp3_array type:kotlin.IntArray flags:val - CALL '(): IntArray' 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 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] CONST Int type=kotlin.Int value=0 - VAR IR_TEMPORARY_VARIABLE name:tmp5 type:kotlin.Int flags:val - CALL 'get(Int): Int' type=kotlin.Int origin=POSTFIX_DECR - $this: GET_VAR 'tmp3_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp4_index0: Int' type=kotlin.Int origin=null - CALL 'set(Int, Int): Unit' type=kotlin.Unit origin=POSTFIX_DECR - $this: GET_VAR 'tmp3_array: IntArray' type=kotlin.IntArray origin=null - index: GET_VAR 'tmp4_index0: Int' type=kotlin.Int origin=null - value: CALL 'dec(): Int' type=kotlin.Int origin=POSTFIX_DECR - $this: GET_VAR 'tmp5: Int' type=kotlin.Int origin=null - GET_VAR 'tmp5: Int' type=kotlin.Int origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/interfaceThisRef.txt b/compiler/testData/ir/irText/expressions/interfaceThisRef.txt index 86f7b1d703a..afa8f6664c7 100644 --- a/compiler/testData/ir/irText/expressions/interfaceThisRef.txt +++ b/compiler/testData/ir/irText/expressions/interfaceThisRef.txt @@ -1,24 +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 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:[] BLOCK_BODY - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@IFoo: IFoo' type=IFoo origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/javaSyntheticPropertyAccess.txt b/compiler/testData/ir/irText/expressions/javaSyntheticPropertyAccess.txt index 4a9854770c1..9e2d9adc4a9 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 flags:[] + VALUE_PARAMETER name:j index:0 type:.J flags:[] 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 'getFoo(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'value-parameter j: J' type=J origin=null - CALL 'setFoo(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_VAR 'value-parameter j: J' type=J origin=null + 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 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 flags:[] 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 j: J' type=J origin=null + 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 BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:val - CALL 'getFoo(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp0_receiver: J' type=J origin=null - CALL 'setFoo(Int): Unit' type=kotlin.Unit origin=POSTFIX_INCR - $this: GET_VAR 'tmp0_receiver: J' type=J origin=null - x: CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp1: Int' type=kotlin.Int origin=null - GET_VAR 'tmp1: Int' type=kotlin.Int origin=null + 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 BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp2_receiver type:J flags:val - GET_VAR 'value-parameter j: J' type=J origin=null - CALL 'setFoo(Int): Unit' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'tmp2_receiver: J' type=J origin=null - x: CALL 'plus(Int): Int' type=kotlin.Int origin=PLUSEQ - $this: CALL 'getFoo(): Int' type=kotlin.Int origin=PLUSEQ - $this: GET_VAR 'tmp2_receiver: J' type=J origin=null + 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 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 a7bf73fdba7..c7658bd9abe 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 flags:[] superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Derived flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base()' - INSTANCE_INITIALIZER_CALL classDescriptor='Derived' - ANONYMOUS_INITIALIZER Derived + 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]' + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 'value: Int' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'this@Derived: Derived' type=Derived origin=null + 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 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 flags:[] + $this: VALUE_PARAMETER name: type:.Derived flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='getValue(): Int' - GET_FIELD 'value: Int' type=kotlin.Int origin=GET_PROPERTY - receiver: GET_VAR 'this@Derived: Derived' 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='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:[] BLOCK_BODY - SET_FIELD 'value: Int' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'this@Derived: Derived' type=Derived origin=null - value: GET_VAR 'value-parameter value: Int' 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 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:[] 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 flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/jvmStaticFieldReference.txt b/compiler/testData/ir/irText/expressions/jvmStaticFieldReference.txt index d92b5441b9f..492bdf55e00 100644 --- a/compiler/testData/ir/irText/expressions/jvmStaticFieldReference.txt +++ b/compiler/testData/ir/irText/expressions/jvmStaticFieldReference.txt @@ -1,65 +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 flags:[] BLOCK_BODY - CALL 'println(String!): Unit' type=kotlin.Unit origin=null - $this: GET_FIELD 'out: PrintStream!' type=java.io.PrintStream? origin=GET_PROPERTY + 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 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 flags:[var] + FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[] + correspondingProperty: PROPERTY name:testProp visibility:public modality:FINAL flags:[var] BLOCK_BODY - CALL 'println(String!): Unit' type=kotlin.Unit origin=null - $this: GET_FIELD 'out: PrintStream!' type=java.io.PrintStream? origin=GET_PROPERTY + 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 x: CONST String type=kotlin.String value="testProp/get" - RETURN type=kotlin.Nothing from='(): Any' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[]' 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 flags:[] + correspondingProperty: PROPERTY name:testProp visibility:public modality:FINAL flags:[var] + VALUE_PARAMETER name:value index:0 type:kotlin.Any flags:[] BLOCK_BODY - CALL 'println(String!): Unit' type=kotlin.Unit origin=null - $this: GET_FIELD 'out: PrintStream!' type=java.io.PrintStream? origin=GET_PROPERTY + 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 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestClass flags:[] + CONSTRUCTOR visibility:public <> () returnType:.TestClass flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestClass' - 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 '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] 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 'println(String!): Unit' type=kotlin.Unit origin=null - $this: GET_FIELD 'out: PrintStream!' type=java.io.PrintStream? origin=GET_PROPERTY + 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 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 flags:[] + correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:[val] + $this: VALUE_PARAMETER name: type:.TestClass flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@TestClass: TestClass' type=TestClass origin=null - ANONYMOUS_INITIALIZER TestClass + 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 + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL 'println(String!): Unit' type=kotlin.Unit origin=null - $this: GET_FIELD 'out: PrintStream!' type=java.io.PrintStream? origin=GET_PROPERTY + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/kt16904.txt b/compiler/testData/ir/irText/expressions/kt16904.txt index a92a189d58c..09cbda11700 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - PROPERTY name:x visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:x type:B visibility:public flags:final + 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] EXPRESSION_BODY - CALL 'constructor B()' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): B' - GET_FIELD 'x: B' type=B origin=null - receiver: GET_VAR 'this@A: A' 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='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:[] 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 flags:[] + correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:[var] + $this: VALUE_PARAMETER name: type:.A flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'y: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@A: A' 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='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:[] BLOCK_BODY - SET_FIELD 'y: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@A: A' type=A 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='B' - 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 '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:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor A()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test1' + 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]' BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:Test1 flags:val - GET_VAR 'this@Test1: Test1' type=Test1 origin=null - CALL 'plusAssign(Int): Unit' type=kotlin.Unit origin=PLUSEQ - $this: CALL '(): B' type=B origin=PLUSEQ - $this: GET_VAR 'tmp0_this: Test1' type=Test1 origin=null + 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 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 'this@Test1: Test1' type=Test1 origin=null - CALL '(Int): Unit' type=kotlin.Unit origin=PLUSEQ - $this: GET_VAR 'tmp1_this: Test1' type=Test1 origin=null - : CALL 'plus(Int): Int' type=kotlin.Int origin=PLUSEQ - $this: CALL '(): Int' type=kotlin.Int origin=PLUSEQ - $this: GET_VAR 'tmp1_this: Test1' type=Test1 origin=null + 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 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 flags:[val] + FIELD FAKE_OVERRIDE name:x type:.B visibility:public flags:[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 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] 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 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:[] 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 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] 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 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] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor J()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test2' - ANONYMOUS_INITIALIZER Test2 + 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]' + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 'field: Int' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'this@Test2: Test2' type=Test2 origin=null + 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 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 flags:[var] + FIELD FAKE_OVERRIDE name:field type:kotlin.Int visibility:public flags:[] 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 flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/kt16905.txt b/compiler/testData/ir/irText/expressions/kt16905.txt index d4163768312..37d8abcbb84 100644 --- a/compiler/testData/ir/irText/expressions/kt16905.txt +++ b/compiler/testData/ir/irText/expressions/kt16905.txt @@ -1,88 +1,88 @@ 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Outer flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Outer' - 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 '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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Inner' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Inner()' - $this: GET_VAR 'this@Outer: Outer' type=Outer origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='InnerDerived0' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Inner()' - $this: GET_VAR 'this@Outer: Outer' type=Outer origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='InnerDerived1' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] TYPEALIAS typealias OI = Outer.Inner type=Outer.Inner - FUN name:test visibility:public modality:FINAL <> () returnType:Outer.Inner flags: + FUN name:test visibility:public modality:FINAL <> () returnType:.Outer.Inner flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(): OI /* = Outer.Inner */' - CALL 'constructor Inner()' type=Outer.Inner origin=null - $this: CALL 'constructor Outer()' type=Outer origin=null + 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 diff --git a/compiler/testData/ir/irText/expressions/kt23030.txt b/compiler/testData/ir/irText/expressions/kt23030.txt index c731a28c6a4..f02f73de755 100644 --- a/compiler/testData/ir/irText/expressions/kt23030.txt +++ b/compiler/testData/ir/irText/expressions/kt23030.txt @@ -1,142 +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 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Int flags:[] + VALUE_PARAMETER name:c index:0 type:kotlin.Char flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='compareTo(Char) on Int: Int' + RETURN type=kotlin.Nothing from='FUN name:compareTo visibility:public modality:FINAL <> ($receiver:kotlin.Int, c:kotlin.Char) returnType:kotlin.Int flags:[]' 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Char flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testOverloadedCompareToCall(Int, Char): Boolean' - CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: CALL 'compareTo(Char) on Int: Int' type=kotlin.Int origin=LT - $receiver: GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null - c: GET_VAR 'value-parameter y: Char' type=kotlin.Char origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testOverloadedCompareToCallWithSmartCast(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testOverloadedCompareToCallWithSmartCast visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: CALL 'compareTo(Char) on Int: Int' type=kotlin.Int origin=LT + 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 $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 x: Any' type=kotlin.Any origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testEqualsWithSmartCast(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testEqualsWithSmartCast visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null - arg1: GET_VAR 'value-parameter y: Any' 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:kotlin.Any flags:[]' 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C flags:[] + CONSTRUCTOR visibility:public <> () returnType:.C flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='compareTo(Char) on Int: Int' + RETURN type=kotlin.Nothing from='FUN name:compareTo visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Int, c:kotlin.Char) returnType:kotlin.Int flags:[]' 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testMemberExtensionCompareToCall(Int, Char): Boolean' - CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: CALL 'compareTo(Char) on Int: Int' type=kotlin.Int origin=LT - $this: GET_VAR 'this@C: C' type=C origin=null - $receiver: GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null - c: GET_VAR 'value-parameter y: Char' type=kotlin.Char origin=null + 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 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testMemberExtensionCompareToCallWithSmartCast(Any, Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:testMemberExtensionCompareToCallWithSmartCast visibility:public modality:FINAL <> ($this:.C, x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null + 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: 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 y: Any' type=kotlin.Any origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false - then: CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: CALL 'compareTo(Char) on Int: Int' type=kotlin.Int origin=LT - $this: GET_VAR 'this@C: C' type=C origin=null + 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 $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 x: Any' type=kotlin.Any origin=null + 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 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 y: Any' type=kotlin.Any origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/kt24804.txt b/compiler/testData/ir/irText/expressions/kt24804.txt index 79516f883c6..96f9e46b26d 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 flags:[inline] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(): Boolean' + RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Boolean flags:[inline]' 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Boolean flags:[] + VALUE_PARAMETER name:y index:1 type:kotlin.Boolean flags:[] BLOCK_BODY - VAR name:z type:kotlin.Int flags:var + VAR name:z type:kotlin.Int flags:[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 'z: Int' type=kotlin.Unit origin=PLUSEQ - CALL 'plus(Int): Int' type=kotlin.Int origin=PLUSEQ - $this: GET_VAR 'z: Int' type=kotlin.Int origin=PLUSEQ + 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 other: CONST Int type=kotlin.Int value=1 WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT - arg0: GET_VAR 'z: Int' type=kotlin.Int origin=null + 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 arg1: CONST Int type=kotlin.Int value=100 - then: RETURN type=kotlin.Nothing from='run(Boolean, Boolean): String' + then: RETURN type=kotlin.Nothing from='FUN name:run visibility:public modality:FINAL <> (x:kotlin.Boolean, y:kotlin.Boolean) returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="NOT_OK" WHEN type=kotlin.Unit origin=IF BRANCH - if: GET_VAR 'value-parameter x: Boolean' type=kotlin.Boolean origin=null + if: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null then: CONTINUE label=l2 loop.label=l2 WHEN type=kotlin.Unit origin=IF BRANCH - if: GET_VAR 'value-parameter y: Boolean' type=kotlin.Boolean origin=null + if: GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null then: CONTINUE label=l2 loop.label=l2 - condition: CALL 'foo(): Boolean' type=kotlin.Boolean origin=null - RETURN type=kotlin.Nothing from='run(Boolean, Boolean): String' + 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:[]' 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='box(): String' - CALL 'run(Boolean, Boolean): String' type=kotlin.String origin=null + 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 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 326261a7043..9727561f36b 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 flags:[] BLOCK_BODY - VAR name:r type:kotlin.String flags:var + VAR name:r type:kotlin.String flags:[var] CONST String type=kotlin.String value="" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: GET_VAR 'r: String' type=kotlin.String origin=null + 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 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 'r: String' type=kotlin.Unit origin=PLUSEQ - CALL 'plus(Any?): String' type=kotlin.String origin=PLUSEQ - $this: GET_VAR 'r: String' type=kotlin.String origin=PLUSEQ + 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 other: CONST String type=kotlin.String value="O" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'r: String' type=kotlin.String origin=null + 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 arg1: CONST String type=kotlin.String value="O" - then: SET_VAR 'r: String' type=kotlin.Unit origin=PLUSEQ - CALL 'plus(Any?): String' type=kotlin.String origin=PLUSEQ - $this: GET_VAR 'r: String' type=kotlin.String origin=PLUSEQ + 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 other: CONST String type=kotlin.String value="K" - RETURN type=kotlin.Nothing from='box(): String' - GET_VAR 'r: String' type=kotlin.String origin=null + 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 diff --git a/compiler/testData/ir/irText/expressions/kt28006.txt b/compiler/testData/ir/irText/expressions/kt28006.txt index ff2ac99df03..4c232cc5937 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.String visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'test1: String' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'test2: String' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:testConst1 visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'testConst1: String' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:testConst2 visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'testConst2: String' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:testConst3 visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'testConst3: String' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:testConst4 visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'testConst4: String' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(Int): String' + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="\uD83E\uDD17" - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(Int): String' + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String - GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null + GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(Int): String' + RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String - GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null + GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null CONST String type=kotlin.String value="\uD83E\uDD17" - GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null + GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/kt28456.txt b/compiler/testData/ir/irText/expressions/kt28456.txt index 0afa82b3e6d..eead63bb206 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - RETURN type=kotlin.Nothing from='get(vararg Int) on A: Int' + RETURN type=kotlin.Nothing from='FUN name:get visibility:public modality:FINAL <> ($receiver:.A, xs:kotlin.IntArray) returnType:kotlin.Int flags:[]' 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 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:[] 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 flags:[] + VALUE_PARAMETER name:a index:0 type:.A flags:[] BLOCK_BODY - CALL 'set(Int, Int, Int) on A: Unit' type=kotlin.Unit origin=EQ - $receiver: GET_VAR 'value-parameter a: A' type=A 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=EQ + $receiver: GET_VAR 'VALUE_PARAMETER name:a index:0 type:.A flags:[]' 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 flags:[] + VALUE_PARAMETER name:a index:0 type:.A flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testPostfixIncrement(A): Int' + RETURN type=kotlin.Nothing from='FUN name:testPostfixIncrement visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Int flags:[]' BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:A flags:val - GET_VAR 'value-parameter a: A' 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 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] 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 flags:[val] CONST Int type=kotlin.Int value=2 - VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:val - CALL 'get(vararg Int) on A: Int' type=kotlin.Int origin=POSTFIX_INCR - $receiver: GET_VAR 'tmp0_array: A' type=A origin=null + 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 xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int - GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - GET_VAR 'tmp2_index1: Int' type=kotlin.Int origin=null - CALL 'set(Int, Int, Int) on A: Unit' type=kotlin.Unit origin=POSTFIX_INCR - $receiver: GET_VAR 'tmp0_array: A' type=A origin=null - i: GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - j: GET_VAR 'tmp2_index1: Int' type=kotlin.Int origin=null - v: CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp3: Int' type=kotlin.Int origin=null - GET_VAR 'tmp3: Int' 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 '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:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:A flags:val - GET_VAR 'value-parameter a: A' 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 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] 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 flags:[val] CONST Int type=kotlin.Int value=2 - CALL 'set(Int, Int, Int) on A: Unit' type=kotlin.Unit origin=PLUSEQ - $receiver: GET_VAR 'tmp0_array: A' type=A origin=null - i: GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - j: GET_VAR 'tmp2_index1: Int' type=kotlin.Int origin=null - v: CALL 'plus(Int): Int' type=kotlin.Int origin=PLUSEQ - $this: CALL 'get(vararg Int) on A: Int' type=kotlin.Int origin=PLUSEQ - $receiver: GET_VAR 'tmp0_array: A' type=A 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=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 xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int - GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - GET_VAR 'tmp2_index1: Int' type=kotlin.Int origin=null + 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 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 c8c32ca8473..ef99596e616 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + VALUE_PARAMETER name:a index:0 type:.A flags:[] BLOCK_BODY - CALL 'set(vararg Int, Int) on A: Unit' type=kotlin.Unit origin=EQ - $receiver: GET_VAR 'value-parameter a: A' type=A origin=null + 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 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 866afec1c93..f40f411c6ab 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:public <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] 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 flags:[] 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 flags:[] EXPRESSION_BODY CONST Int type=kotlin.Int value=4 BLOCK_BODY - RETURN type=kotlin.Nothing from='get(Int, Int = ..., Int = ..., Int = ..., Int = ...) on A: Int' + 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:[]' 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 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:[] 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 flags:[] 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 flags:[] + VALUE_PARAMETER name:a index:0 type:.A flags:[] BLOCK_BODY - CALL 'set(Int, Int = ..., Int) on A: Unit' type=kotlin.Unit origin=EQ - $receiver: GET_VAR 'value-parameter a: A' type=A 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=EQ + $receiver: GET_VAR 'VALUE_PARAMETER name:a index:0 type:.A flags:[]' 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 flags:[] + VALUE_PARAMETER name:a index:0 type:.A flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testPostfixIncrement(A): Int' + RETURN type=kotlin.Nothing from='FUN name:testPostfixIncrement visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Int flags:[]' BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:A flags:val - GET_VAR 'value-parameter a: A' 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 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] CONST Int type=kotlin.Int value=1 - VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:val - CALL 'get(Int, Int = ..., Int = ..., Int = ..., Int = ...) on A: Int' type=kotlin.Int origin=POSTFIX_INCR - $receiver: GET_VAR 'tmp0_array: A' type=A origin=null - i: GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - CALL 'set(Int, Int = ..., Int) on A: Unit' type=kotlin.Unit origin=POSTFIX_INCR - $receiver: GET_VAR 'tmp0_array: A' type=A origin=null - i: GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - v: CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp2: Int' type=kotlin.Int origin=null - GET_VAR 'tmp2: Int' 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 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:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:A flags:val - GET_VAR 'value-parameter a: A' 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 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] CONST Int type=kotlin.Int value=1 - CALL 'set(Int, Int = ..., Int) on A: Unit' type=kotlin.Unit origin=PLUSEQ - $receiver: GET_VAR 'tmp0_array: A' type=A origin=null - i: GET_VAR 'tmp1_index0: Int' type=kotlin.Int origin=null - v: CALL 'plus(Int): Int' type=kotlin.Int origin=PLUSEQ - $this: CALL 'get(Int, Int = ..., Int = ..., Int = ..., Int = ...) on A: Int' type=kotlin.Int origin=PLUSEQ - $receiver: GET_VAR 'tmp0_array: A' type=A origin=null - i: GET_VAR 'tmp1_index0: Int' 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=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 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 6a45ae5d1df..f849519e0d9 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:X flags:val - GET_VAR 'value-parameter x: X' type=X origin=null - CALL 'plusAssign(T) on MutableCollection: Unit' 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 : kotlin.Int - $receiver: CALL '(): MutableList' type=kotlin.collections.MutableList origin=PLUSEQ - $this: GET_VAR 'tmp0_this: X' type=X origin=null + $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 element: CONST Int type=kotlin.Int value=1 - CALL 'plusAssign(T) on MutableCollection: Unit' type=kotlin.Unit origin=PLUSEQ + 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 : kotlin.Int - $receiver: CALL 'f(): MutableList' type=kotlin.collections.MutableList origin=null - $this: GET_VAR 'value-parameter x: X' type=X origin=null + $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 element: CONST Int type=kotlin.Int value=2 - CALL 'plusAssign(T) on MutableCollection: Unit' type=kotlin.Unit origin=PLUSEQ + 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 : 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 '(): MutableList' type=kotlin.collections.MutableList origin=GET_PROPERTY - $this: GET_VAR 'value-parameter x: X' type=X origin=null + 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 element: CONST Int type=kotlin.Int value=3 - CALL 'plusAssign(T) on MutableCollection: Unit' type=kotlin.Unit origin=PLUSEQ + 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 : 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 'f(): MutableList' type=kotlin.collections.MutableList origin=null - $this: GET_VAR 'value-parameter x: X' type=X origin=null + 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 element: CONST Int type=kotlin.Int value=4 - CALL 'plusAssign(T) on MutableCollection: Unit' type=kotlin.Unit origin=PLUSEQ + 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 : 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? flags:[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 nx: X?' type=X? origin=null + 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 WHEN type=kotlin.collections.MutableList? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp1_safe_receiver: X?' type=X? origin=null + 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 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 '(): MutableList' type=kotlin.collections.MutableList origin=GET_PROPERTY - $this: GET_VAR 'tmp1_safe_receiver: X?' type=X? origin=null + 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 WHEN type=kotlin.collections.MutableList origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp2_notnull: MutableList?' type=kotlin.collections.MutableList? origin=null + 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 arg1: CONST Null type=kotlin.Nothing? value=null - then: CALL 'THROW_NPE(): Nothing' type=kotlin.Nothing origin=EXCLEXCL + then: CALL 'FUN IR_BUILTINS_STUB name:THROW_NPE visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[]' type=kotlin.Nothing origin=EXCLEXCL BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'tmp2_notnull: MutableList?' type=kotlin.collections.MutableList? origin=null + then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_notnull type:kotlin.collections.MutableList? flags:[val]' type=kotlin.collections.MutableList? origin=null element: CONST Int type=kotlin.Int value=5 - CALL 'plusAssign(T) on MutableCollection: Unit' type=kotlin.Unit origin=PLUSEQ + 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 : 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? flags:[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 nx: X?' type=X? origin=null + 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 WHEN type=kotlin.collections.MutableList? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp3_safe_receiver: X?' type=X? origin=null + 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 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 'f(): MutableList' type=kotlin.collections.MutableList origin=null - $this: GET_VAR 'tmp3_safe_receiver: X?' type=X? origin=null + 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 WHEN type=kotlin.collections.MutableList origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp4_notnull: MutableList?' type=kotlin.collections.MutableList? origin=null + 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 arg1: CONST Null type=kotlin.Nothing? value=null - then: CALL 'THROW_NPE(): Nothing' type=kotlin.Nothing origin=EXCLEXCL + then: CALL 'FUN IR_BUILTINS_STUB name:THROW_NPE visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[]' type=kotlin.Nothing origin=EXCLEXCL BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'tmp4_notnull: MutableList?' type=kotlin.collections.MutableList? origin=null + then: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp4_notnull type:kotlin.collections.MutableList? flags:[val]' 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 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[] BLOCK_BODY - CALL 'plusAssign(T) on MutableCollection: Unit' type=kotlin.Unit origin=PLUSEQ + 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 : kotlin.Int - $receiver: GET_VAR 'this@testExtensionReceiver: MutableList' type=kotlin.collections.MutableList origin=PLUSEQ + $receiver: GET_VAR 'VALUE_PARAMETER name: type:kotlin.collections.MutableList flags:[]' 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 flags:[] superTypes:[kotlin.collections.MutableList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AML flags:[] + CONSTRUCTOR visibility:public <> () returnType:.AML flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='AML' - FUN name:testExplicitThis visibility:public modality:FINAL <> ($this:AML) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:AML flags: + 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:[] BLOCK_BODY - CALL 'plusAssign(T) on MutableCollection: Unit' type=kotlin.Unit origin=PLUSEQ + 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 : kotlin.Int - $receiver: GET_VAR 'this@AML: AML' type=AML origin=PLUSEQ + $receiver: GET_VAR 'VALUE_PARAMETER name: type:.AML flags:[]' 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Inner' - 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 '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:[] BLOCK_BODY - CALL 'plusAssign(T) on MutableCollection: Unit' type=kotlin.Unit origin=PLUSEQ + 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 : kotlin.Int - $receiver: GET_VAR 'this@AML: AML' type=AML origin=PLUSEQ + $receiver: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AML flags:[]' 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element: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: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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, element: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: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:[] 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 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:[] 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 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:[] 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 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:[] overridden: - FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element: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: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:[] 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 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:[] overridden: - FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, index:kotlin.Int) returnType: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: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:[] overridden: - FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element: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: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:[] 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 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:[] 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 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:[] overridden: - FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element: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: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:[] 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 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:[] 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 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element: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: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:[] 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 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:removeAt visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int) returnType: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: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:[] 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 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:set visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, element:E) returnType: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: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:[] 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 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] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/lambdaInCAO.txt b/compiler/testData/ir/irText/expressions/lambdaInCAO.txt index 1f0a1e2fc3c..0e5e1e8bf52 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 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function0 flags:[] 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 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:index index:0 type:kotlin.Function0 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='get(() -> Unit) on Any: Int' + RETURN type=kotlin.Nothing from='FUN name:get visibility:public modality:FINAL <> ($receiver:kotlin.Any, index:kotlin.Function0) returnType:kotlin.Int flags:[]' 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 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:[] 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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] BLOCK_BODY - CALL 'plusAssign(() -> Unit) on Any: Unit' type=kotlin.Unit origin=PLUSEQ - $receiver: GET_VAR 'value-parameter a: Any' type=kotlin.Any origin=PLUSEQ + 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 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - FUNCTION_REFERENCE '(): Unit' 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='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:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ - VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.Any flags:val - GET_VAR 'value-parameter a: Any' 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 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] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - FUNCTION_REFERENCE '(): Unit' type=kotlin.Function0 origin=LAMBDA - CALL 'set(() -> Unit, Int) on Any: Unit' type=kotlin.Unit origin=PLUSEQ - $receiver: GET_VAR 'tmp0_array: Any' type=kotlin.Any origin=null - index: GET_VAR 'tmp1_index0: () -> Unit' type=kotlin.Function0 origin=null - value: CALL 'plus(Int): Int' type=kotlin.Int origin=PLUSEQ - $this: CALL 'get(() -> Unit) on Any: Int' type=kotlin.Int origin=PLUSEQ - $receiver: GET_VAR 'tmp0_array: Any' type=kotlin.Any origin=null - index: GET_VAR 'tmp1_index0: () -> Unit' type=kotlin.Function0 origin=null + 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 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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] 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 flags:[] 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 a: Any' 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 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] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - FUNCTION_REFERENCE '(): Unit' type=kotlin.Function0 origin=LAMBDA - VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:val - CALL 'get(() -> Unit) on Any: Int' type=kotlin.Int origin=POSTFIX_INCR - $receiver: GET_VAR 'tmp0_array: Any' type=kotlin.Any origin=null - index: GET_VAR 'tmp1_index0: () -> Unit' type=kotlin.Function0 origin=null - CALL 'set(() -> Unit, Int) on Any: Unit' type=kotlin.Unit origin=POSTFIX_INCR - $receiver: GET_VAR 'tmp0_array: Any' type=kotlin.Any origin=null - index: GET_VAR 'tmp1_index0: () -> Unit' type=kotlin.Function0 origin=null - value: CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp2: Int' type=kotlin.Int origin=null - GET_VAR 'tmp2: Int' type=kotlin.Int origin=null + 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 diff --git a/compiler/testData/ir/irText/expressions/literals.txt b/compiler/testData/ir/irText/expressions/literals.txt index 15d1704a277..04f978da7b1 100644 --- a/compiler/testData/ir/irText/expressions/literals.txt +++ b/compiler/testData/ir/irText/expressions/literals.txt @@ -1,155 +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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test1: Int' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test2: Int' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Boolean' - GET_FIELD 'test3: Boolean' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Boolean' - GET_FIELD 'test4: Boolean' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'test5: String' 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='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] 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? flags:[] + correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Nothing?' - GET_FIELD 'test6: Nothing?' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test7 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Long' - GET_FIELD 'test7: Long' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Long' - GET_FIELD 'test8: Long' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test9 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Double' - GET_FIELD 'test9: Double' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test10 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Double' - GET_FIELD 'test10: Double' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test11 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Float' - GET_FIELD 'test11: Float' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test12 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Float' - GET_FIELD 'test12: Float' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test13 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Char' - GET_FIELD 'test13: Char' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:testB visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Byte' - GET_FIELD 'testB: Byte' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:testS visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Short' - GET_FIELD 'testS: Short' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:testI visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'testI: Int' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:testL visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Long' - GET_FIELD 'testL: Long' type=kotlin.Long origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/memberTypeArguments.txt b/compiler/testData/ir/irText/expressions/memberTypeArguments.txt index 4ee4f1d22bf..0f9a55bc6db 100644 --- a/compiler/testData/ir/irText/expressions/memberTypeArguments.txt +++ b/compiler/testData/ir/irText/expressions/memberTypeArguments.txt @@ -1,42 +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 flags: + CLASS CLASS name:GenericClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GenericClass<.GenericClass.T> flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (value:T) returnType:GenericClass flags:primary - VALUE_PARAMETER name:value index:0 type:T flags: + CONSTRUCTOR visibility:public <> (value:.GenericClass.T) returnType:.GenericClass<.GenericClass.T> flags:[primary] + VALUE_PARAMETER name:value index:0 type:.GenericClass.T flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='GenericClass' - PROPERTY name:value visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:value type:T visibility:public flags:final + 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] 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:GenericClass) returnType:T flags: - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:GenericClass flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): T' - GET_FIELD 'value: T' type=T origin=null - receiver: GET_VAR 'this@GenericClass: GenericClass' type=GenericClass origin=null - FUN name:withNewValue visibility:public modality:FINAL <> ($this:GenericClass, newValue:T) returnType:GenericClass flags: - $this: VALUE_PARAMETER name: type:GenericClass flags: - VALUE_PARAMETER name:newValue index:0 type:T flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='withNewValue(T): GenericClass' - CALL 'constructor GenericClass(T)' type=GenericClass origin=null - : T - value: GET_VAR 'value-parameter newValue: T' type=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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/membersImportedFromObject.txt b/compiler/testData/ir/irText/expressions/membersImportedFromObject.txt index 0300ffa3cba..a79fa4ee248 100644 --- a/compiler/testData/ir/irText/expressions/membersImportedFromObject.txt +++ b/compiler/testData/ir/irText/expressions/membersImportedFromObject.txt @@ -1,93 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN name:foo visibility:public modality:FINAL <> ($this:A) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:A flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(): Int' + RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int flags:[]' 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 flags:[] + $this: VALUE_PARAMETER name: type:.A flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Int flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='fooExt() on Int: Int' + RETURN type=kotlin.Nothing from='FUN name:fooExt visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.Int) returnType:kotlin.Int flags:[]' 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL flags:[val] + $this: VALUE_PARAMETER name: type:.A flags:[] 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 - 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on Int: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.A, $receiver:kotlin.Int) returnType:kotlin.Int flags:[]' 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] EXPRESSION_BODY - CALL 'foo(): Int' type=kotlin.Int origin=null - $this: GET_OBJECT 'A' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test1: Int' 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='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] EXPRESSION_BODY - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_OBJECT 'A' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test2: Int' 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='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] EXPRESSION_BODY - CALL 'fooExt() on Int: Int' type=kotlin.Int origin=null - $this: GET_OBJECT 'A' type=A + 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 $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 flags:[] + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test3: Int' 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='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] EXPRESSION_BODY - CALL '() on Int: Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_OBJECT 'A' type=A + 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 $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 flags:[] + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test4: Int' type=kotlin.Int origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/multipleThisReferences.txt b/compiler/testData/ir/irText/expressions/multipleThisReferences.txt index a50415df9e7..198d29b08b0 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Outer flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Outer' - 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 '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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Inner' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Inner: Inner' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Host' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter y: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'y: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Host: Host' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test() on Outer: Outer.Inner' - 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 + RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> ($this:.Host, $receiver:.Outer) returnType:.Outer.Inner flags:[]' + 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Inner(Int)' - $this: GET_VAR 'this@test: Outer' type=Outer origin=null + 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 x: CONST Int type=kotlin.Int value=42 - INSTANCE_INITIALIZER_CALL classDescriptor='' - 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 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] EXPRESSION_BODY - CALL 'plus(Int): Int' type=kotlin.Int origin=PLUS - $this: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@: ' type=Host.test. origin=null - other: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@Host: Host' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'xx: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@: ' 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='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] 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 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] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 ()' 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/objectAsCallable.txt b/compiler/testData/ir/irText/expressions/objectAsCallable.txt index f63b9d4bd95..cf62130e53f 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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] - $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 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] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: En - INSTANCE_INITIALIZER_CALL classDescriptor='En' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .En + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:En modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.En>]' ENUM_ENTRY name:X - init: ENUM_CONSTRUCTOR_CALL 'constructor En()' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:En flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] 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 flags:[] + $receiver: VALUE_PARAMETER name: type:.A flags:[] + VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='invoke(Int) on A: Int' - GET_VAR 'value-parameter i: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='invoke(Int) on En: Int' - GET_VAR 'value-parameter i: Int' 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='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] EXPRESSION_BODY - CALL 'invoke(Int) on A: Int' type=kotlin.Int origin=INVOKE - $receiver: GET_OBJECT 'A' type=A + 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 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 flags:[] + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test1: Int' 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='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] EXPRESSION_BODY - CALL 'invoke(Int) on En: Int' type=kotlin.Int origin=INVOKE - $receiver: GET_ENUM 'X' type=En + CALL 'FUN name:invoke visibility:public modality:FINAL <> ($receiver:.En, i:kotlin.Int) returnType:kotlin.Int flags:[]' 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 flags:[] + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test2: Int' type=kotlin.Int origin=null + 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 diff --git a/compiler/testData/ir/irText/expressions/objectClassReference.txt b/compiler/testData/ir/irText/expressions/objectClassReference.txt index f4c3e866a4d..09ad467f1f0 100644 --- a/compiler/testData/ir/irText/expressions/objectClassReference.txt +++ b/compiler/testData/ir/irText/expressions/objectClassReference.txt @@ -1,31 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] 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 'A' type=kotlin.reflect.KClass + 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> 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 '() on KClass: Class' type=java.lang.Class origin=GET_PROPERTY - <`0>: A - $receiver: CLASS_REFERENCE 'A' type=kotlin.reflect.KClass - + 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 + <`0>: .A + $receiver: CLASS_REFERENCE 'CLASS OBJECT name:A modality:FINAL visibility:public flags:[] 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 eafdc21ef6a..c721c708d4e 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z flags:[] + CONSTRUCTOR visibility:private <> () returnType:.Z flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Z' - PROPERTY name:counter visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public flags: + 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:[] 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 flags:[] + correspondingProperty: PROPERTY name:counter visibility:public modality:FINAL flags:[var] + $this: VALUE_PARAMETER name: type:.Z flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'counter: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Z: Z' 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='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:[] BLOCK_BODY - SET_FIELD 'counter: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@Z: Z' type=Z origin=null - value: GET_VAR 'value-parameter : Int' 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.Z flags:[] BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_VAR 'this@Z: Z' 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_VAR 'VALUE_PARAMETER name: type:.Z flags:[]' type=.Z origin=null : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@Z: Z' type=Z origin=null - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'Z' type=Z + 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 : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_OBJECT 'Z' 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 '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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Nested' - ANONYMOUS_INITIALIZER Nested + 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]' + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'Z' 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 : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_OBJECT 'Z' type=Z - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'Z' type=Z + 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 : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_OBJECT 'Z' 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 '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:[] BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'Z' 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 : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_OBJECT 'Z' type=Z - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'Z' type=Z + 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 : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_OBJECT 'Z' type=Z - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean 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 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] 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 flags:[] BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'Z' 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 : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_OBJECT 'Z' type=Z - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'Z' type=Z + 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 : CONST Int type=kotlin.Int value=1 - RETURN type=kotlin.Nothing from='(): Unit' - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_OBJECT 'Z' type=Z - FUNCTION_REFERENCE '(): Unit' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): () -> Unit' - GET_FIELD 'aLambda: () -> Unit' type=kotlin.Function0 origin=null - receiver: GET_VAR 'this@Z: Z' 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='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] 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 + 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='' - ANONYMOUS_INITIALIZER + 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]' + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'Z' 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 : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_OBJECT 'Z' type=Z - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'Z' type=Z + 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 : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_OBJECT 'Z' 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 '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:[] BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'Z' 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 : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_OBJECT 'Z' type=Z - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'Z' type=Z + 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 : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_OBJECT 'Z' type=Z - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean 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 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 ()' 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Any' - GET_FIELD 'anObject: Any' type=kotlin.Any origin=null - receiver: GET_VAR 'this@Z: Z' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_VAR 'this@test: Z' 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_VAR 'VALUE_PARAMETER name: type:.Z flags:[]' type=.Z origin=null : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@test: Z' type=Z origin=null - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'Z' type=Z + 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 : CONST Int type=kotlin.Int value=1 - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_OBJECT 'Z' type=Z + 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 diff --git a/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.txt b/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.txt index 20aa7098ff6..f7934ef7ed6 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Base' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter lambda: () -> Any' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): () -> Any' - GET_FIELD 'lambda: () -> Any' type=kotlin.Function0 origin=null - receiver: GET_VAR 'this@Base: Base' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base(() -> Any)' - lambda: BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:Test flags: + DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:public <> (lambda:kotlin.Function0) returnType:.Base flags:[primary]' + lambda: BLOCK type=kotlin.Function0<.Test> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:.Test flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Test' - GET_OBJECT 'Test' type=Test - FUNCTION_REFERENCE '(): Test' type=kotlin.Function0 origin=LAMBDA - INSTANCE_INITIALIZER_CALL classDescriptor='Test' - 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='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] 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 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] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/objectReferenceInFieldInitializer.txt b/compiler/testData/ir/irText/expressions/objectReferenceInFieldInitializer.txt index 063c0e74386..3ecc853de28 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - 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 '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] 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 flags:[] + correspondingProperty: PROPERTY name:a visibility:private modality:FINAL flags:[val] + $this: VALUE_PARAMETER name: type:.A flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'a: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@A: A' 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='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] EXPRESSION_BODY STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="1234" - CALL '(): String' type=kotlin.String origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'b: String' type=kotlin.String origin=null - receiver: GET_VAR 'this@A: A' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:c visibility:private modality:FINAL flags:[val] + $this: VALUE_PARAMETER name: type:.A flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'c: 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/outerClassInstanceReference.txt b/compiler/testData/ir/irText/expressions/outerClassInstanceReference.txt index f87fbc22f3a..559504dc10e 100644 --- a/compiler/testData/ir/irText/expressions/outerClassInstanceReference.txt +++ b/compiler/testData/ir/irText/expressions/outerClassInstanceReference.txt @@ -1,50 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Outer flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Outer' - FUN name:outer visibility:public modality:FINAL <> ($this:Outer) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:Outer flags: + 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:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Inner' - 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='inner(): Unit' - CALL 'outer(): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@Outer: Outer' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/primitiveComparisons.txt b/compiler/testData/ir/irText/expressions/primitiveComparisons.txt index e1b1f032b1f..b08ff4e5e5a 100644 --- a/compiler/testData/ir/irText/expressions/primitiveComparisons.txt +++ b/compiler/testData/ir/irText/expressions/primitiveComparisons.txt @@ -1,210 +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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Byte flags:[] + VALUE_PARAMETER name:b index:1 type:kotlin.Byte flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='btest1(Byte, Byte): Boolean' - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT - arg0: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter a: Byte' type=kotlin.Byte origin=null - arg1: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter b: Byte' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='btest2(Byte, Byte): Boolean' - CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter a: Byte' type=kotlin.Byte origin=null - arg1: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter b: Byte' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='btest3(Byte, Byte): Boolean' - CALL 'greaterOrEqual(Int, Int): Boolean' type=kotlin.Boolean origin=GTEQ - arg0: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter a: Byte' type=kotlin.Byte origin=null - arg1: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter b: Byte' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='btest4(Byte, Byte): Boolean' - CALL 'lessOrEqual(Int, Int): Boolean' type=kotlin.Boolean origin=LTEQ - arg0: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter a: Byte' type=kotlin.Byte origin=null - arg1: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter b: Byte' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='stest1(Short, Short): Boolean' - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT - arg0: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter a: Short' type=kotlin.Short origin=null - arg1: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter b: Short' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='stest2(Short, Short): Boolean' - CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter a: Short' type=kotlin.Short origin=null - arg1: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter b: Short' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='stest3(Short, Short): Boolean' - CALL 'greaterOrEqual(Int, Int): Boolean' type=kotlin.Boolean origin=GTEQ - arg0: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter a: Short' type=kotlin.Short origin=null - arg1: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter b: Short' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='stest4(Short, Short): Boolean' - CALL 'lessOrEqual(Int, Int): Boolean' type=kotlin.Boolean origin=LTEQ - arg0: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter a: Short' type=kotlin.Short origin=null - arg1: CALL 'toInt(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter b: Short' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='itest1(Int, Int): Boolean' - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT - arg0: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - arg1: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='itest2(Int, Int): Boolean' - CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - arg1: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='itest3(Int, Int): Boolean' - CALL 'greaterOrEqual(Int, Int): Boolean' type=kotlin.Boolean origin=GTEQ - arg0: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - arg1: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='itest4(Int, Int): Boolean' - CALL 'lessOrEqual(Int, Int): Boolean' type=kotlin.Boolean origin=LTEQ - arg0: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - arg1: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='ltest1(Long, Long): Boolean' - CALL 'greater(Long, Long): Boolean' type=kotlin.Boolean origin=GT - arg0: GET_VAR 'value-parameter a: Long' type=kotlin.Long origin=null - arg1: GET_VAR 'value-parameter b: Long' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='ltest2(Long, Long): Boolean' - CALL 'less(Long, Long): Boolean' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'value-parameter a: Long' type=kotlin.Long origin=null - arg1: GET_VAR 'value-parameter b: Long' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='ltest3(Long, Long): Boolean' - CALL 'greaterOrEqual(Long, Long): Boolean' type=kotlin.Boolean origin=GTEQ - arg0: GET_VAR 'value-parameter a: Long' type=kotlin.Long origin=null - arg1: GET_VAR 'value-parameter b: Long' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='ltest4(Long, Long): Boolean' - CALL 'lessOrEqual(Long, Long): Boolean' type=kotlin.Boolean origin=LTEQ - arg0: GET_VAR 'value-parameter a: Long' type=kotlin.Long origin=null - arg1: GET_VAR 'value-parameter b: Long' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='ftest1(Float, Float): Boolean' - CALL 'greater(Float, Float): Boolean' type=kotlin.Boolean origin=GT - arg0: GET_VAR 'value-parameter a: Float' type=kotlin.Float origin=null - arg1: GET_VAR 'value-parameter b: Float' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='ftest2(Float, Float): Boolean' - CALL 'less(Float, Float): Boolean' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'value-parameter a: Float' type=kotlin.Float origin=null - arg1: GET_VAR 'value-parameter b: Float' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='ftest3(Float, Float): Boolean' - CALL 'greaterOrEqual(Float, Float): Boolean' type=kotlin.Boolean origin=GTEQ - arg0: GET_VAR 'value-parameter a: Float' type=kotlin.Float origin=null - arg1: GET_VAR 'value-parameter b: Float' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='ftest4(Float, Float): Boolean' - CALL 'lessOrEqual(Float, Float): Boolean' type=kotlin.Boolean origin=LTEQ - arg0: GET_VAR 'value-parameter a: Float' type=kotlin.Float origin=null - arg1: GET_VAR 'value-parameter b: Float' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='dtest1(Double, Double): Boolean' - CALL 'greater(Double, Double): Boolean' type=kotlin.Boolean origin=GT - arg0: GET_VAR 'value-parameter a: Double' type=kotlin.Double origin=null - arg1: GET_VAR 'value-parameter b: Double' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='dtest2(Double, Double): Boolean' - CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'value-parameter a: Double' type=kotlin.Double origin=null - arg1: GET_VAR 'value-parameter b: Double' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='dtest3(Double, Double): Boolean' - CALL 'greaterOrEqual(Double, Double): Boolean' type=kotlin.Boolean origin=GTEQ - arg0: GET_VAR 'value-parameter a: Double' type=kotlin.Double origin=null - arg1: GET_VAR 'value-parameter b: Double' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='dtest4(Double, Double): Boolean' - CALL 'lessOrEqual(Double, Double): Boolean' type=kotlin.Boolean origin=LTEQ - arg0: GET_VAR 'value-parameter a: Double' type=kotlin.Double origin=null - arg1: GET_VAR 'value-parameter b: Double' type=kotlin.Double origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt b/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt index 2088210ba5d..436aa478304 100644 --- a/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt +++ b/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt @@ -1,134 +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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Long visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Long' - GET_FIELD 'test1: Long' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Short' - GET_FIELD 'test2: Short' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Byte' - GET_FIELD 'test3: Byte' 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='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] 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 'unaryMinus(): Int' type=kotlin.Int origin=null + 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 $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 flags:[] + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Long' - GET_FIELD 'test4: Long' 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='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] 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 'unaryMinus(): Int' type=kotlin.Int origin=null + 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 $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 flags:[] + correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Short' - GET_FIELD 'test5: Short' 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='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] 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 'unaryMinus(): Int' type=kotlin.Int origin=null + 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 $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 flags:[] + correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Byte' - GET_FIELD 'test6: Byte' type=kotlin.Byte origin=null - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + 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:[] BLOCK_BODY - VAR name:test1 type:kotlin.Int? flags:val + VAR name:test1 type:kotlin.Int? flags:[val] CONST Int type=kotlin.Int value=42 - VAR name:test2 type:kotlin.Long flags:val + VAR name:test2 type:kotlin.Long flags:[val] CONST Long type=kotlin.Long value=42 - VAR name:test3 type:kotlin.Long? flags:val + VAR name:test3 type:kotlin.Long? flags:[val] CONST Long type=kotlin.Long value=42 - VAR name:test4 type:kotlin.Long? flags:val + VAR name:test4 type:kotlin.Long? flags:[val] CONST Long type=kotlin.Long value=-1 - VAR name:test5 type:kotlin.Long? flags:val + VAR name:test5 type:kotlin.Long? flags:[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 'unaryMinus(): Int' type=kotlin.Int origin=null + 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 $this: CONST Int type=kotlin.Int value=1 - VAR name:test6 type:kotlin.Short? flags:val + VAR name:test6 type:kotlin.Short? flags:[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 'unaryMinus(): Int' type=kotlin.Int origin=null + 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 $this: CONST Int type=kotlin.Int value=1 - VAR name:test7 type:kotlin.Byte? flags:val + VAR name:test7 type:kotlin.Byte? flags:[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 'unaryMinus(): Int' type=kotlin.Int origin=null + 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 $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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Long flags:[] 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 'unaryMinus(): Int' type=kotlin.Int origin=null + 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 $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 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:[] 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 'unaryMinus(): Int' type=kotlin.Int origin=null + 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 $this: CONST Int type=kotlin.Int value=1 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestImplicitArguments' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Long = ...' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Long' - GET_FIELD 'x: Long' type=kotlin.Long origin=null - receiver: GET_VAR 'this@TestImplicitArguments: TestImplicitArguments' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/references.txt b/compiler/testData/ir/irText/expressions/references.txt index 996ca9e450c..a53f5944b0d 100644 --- a/compiler/testData/ir/irText/expressions/references.txt +++ b/compiler/testData/ir/irText/expressions/references.txt @@ -1,58 +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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:ok visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'ok: String' 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='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] EXPRESSION_BODY - CALL '(): String' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'ok2: String' 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='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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(): String' - CALL '(): String' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(String): String' - GET_VAR 'value-parameter x: String' type=kotlin.String origin=null - FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.String flags: + 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:[] BLOCK_BODY - VAR name:x type:kotlin.String flags:val + VAR name:x type:kotlin.String flags:[val] CONST String type=kotlin.String value="OK" - RETURN type=kotlin.Nothing from='test3(): String' - GET_VAR 'x: String' type=kotlin.String origin=null - FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.String flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4(): String' - CALL '(): String' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on String: String' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:[]' 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 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5() on String: String' - CALL '() on String: String' type=kotlin.String origin=GET_PROPERTY - $receiver: GET_VAR 'this@test5: String' type=kotlin.String origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/safeAssignment.txt b/compiler/testData/ir/irText/expressions/safeAssignment.txt index 5a30d74556f..2bea195e27c 100644 --- a/compiler/testData/ir/irText/expressions/safeAssignment.txt +++ b/compiler/testData/ir/irText/expressions/safeAssignment.txt @@ -1,60 +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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - PROPERTY name:x visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags: + 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:[] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' 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='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:[] BLOCK_BODY - SET_FIELD 'x: 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 nc: C?' type=C? origin=null + 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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: C?' type=C? origin=null + 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 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 flags:[] superTypes:[kotlin.Any] CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_VAR 'tmp0_safe_receiver: C?' type=C? origin=null + 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 : 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 fad10b22f72..f7985a92d3f 100644 --- a/compiler/testData/ir/irText/expressions/safeCallWithIncrementDecrement.txt +++ b/compiler/testData/ir/irText/expressions/safeCallWithIncrementDecrement.txt @@ -1,121 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.C flags:[] + CONSTRUCTOR visibility:public <> () returnType:test.C flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on C?: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($receiver:test.C?) returnType:kotlin.Int flags:[]' 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 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:[] 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? flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Int? flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='inc() on Int?: Int?' + RETURN type=kotlin.Nothing from='FUN name:inc visibility:public modality:FINAL <> ($receiver:kotlin.Int?) returnType:kotlin.Int? flags:[]' BLOCK type=kotlin.Int? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Int? flags:val - GET_VAR 'this@inc: Int?' type=kotlin.Int? origin=null + 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 WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: Int?' type=kotlin.Int? origin=null + 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 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 'inc(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_safe_receiver: Int?' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='get(Int) on Int?: Int' + RETURN type=kotlin.Nothing from='FUN name:get visibility:public modality:FINAL <> ($receiver:kotlin.Int?, index:kotlin.Int) returnType:kotlin.Int flags:[]' 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 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:[] 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 flags:[] + VALUE_PARAMETER name:nc index:0 type:test.C? flags:[] 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 flags:[] 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 nc: C?' type=test.C? origin=null + 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 WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: C?' type=test.C? origin=null + 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 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 'tmp0_safe_receiver: C?' type=test.C? origin=null + 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 BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:val - CALL '() on C?: Int' type=kotlin.Int origin=POSTFIX_INCR - $receiver: GET_VAR 'tmp1_receiver: C?' type=test.C? origin=null - CALL '(Int) on C?: Unit' type=kotlin.Unit origin=POSTFIX_INCR - $receiver: GET_VAR 'tmp1_receiver: C?' type=test.C? origin=null - value: CALL 'inc() on Int?: Int?' type=kotlin.Int? origin=POSTFIX_INCR - $receiver: GET_VAR 'tmp2: Int' type=kotlin.Int origin=null - GET_VAR 'tmp2: Int' 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 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:[] 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 flags:[] 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? flags:[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 nc: C?' type=test.C? origin=null + 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 WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: C?' type=test.C? origin=null + 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 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 '() on C?: Int' type=kotlin.Int origin=GET_PROPERTY - $receiver: GET_VAR 'tmp0_safe_receiver: C?' type=test.C? origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp2_index0 type:kotlin.Int flags:val + 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] CONST Int type=kotlin.Int value=0 - VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:val - CALL 'get(Int) on Int?: Int' type=kotlin.Int origin=POSTFIX_INCR - $receiver: GET_VAR 'tmp1_array: Int?' type=kotlin.Int? origin=null - index: GET_VAR 'tmp2_index0: Int' type=kotlin.Int origin=null - CALL 'set(Int, Int) on Int?: Unit' type=kotlin.Unit origin=POSTFIX_INCR - $receiver: GET_VAR 'tmp1_array: Int?' type=kotlin.Int? origin=null - index: GET_VAR 'tmp2_index0: Int' type=kotlin.Int origin=null - value: CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp3: Int' type=kotlin.Int origin=null - GET_VAR 'tmp3: Int' type=kotlin.Int origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/safeCalls.txt b/compiler/testData/ir/irText/expressions/safeCalls.txt index 2c44fb26719..4c10ccf6247 100644 --- a/compiler/testData/ir/irText/expressions/safeCalls.txt +++ b/compiler/testData/ir/irText/expressions/safeCalls.txt @@ -1,176 +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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Ref' - PROPERTY name:value visibility:public modality:FINAL flags:var - FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public flags: + 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:[] EXPRESSION_BODY - GET_VAR 'value-parameter value: Int' 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_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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'value: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Ref: Ref' 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='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:[] BLOCK_BODY - SET_FIELD 'value: Int' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@Ref: Ref' type=Ref 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: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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='extLength() on String: Int' - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@extLength: 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: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(String?): Int?' + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.String?) returnType:kotlin.Int? flags:[]' BLOCK type=kotlin.Int? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:val - GET_VAR 'value-parameter x: String?' type=kotlin.String? origin=null + 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 WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? origin=null + 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 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 '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'tmp0_safe_receiver: String?' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(String?): Int?' + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.String?) returnType:kotlin.Int? flags:[]' BLOCK type=kotlin.Int? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:val - GET_VAR 'value-parameter x: String?' type=kotlin.String? origin=null + 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 WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? origin=null + 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 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 'hashCode(): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_safe_receiver: String?' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(String?, Any?): Boolean?' + RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.String?, y:kotlin.Any?) returnType:kotlin.Boolean? flags:[]' BLOCK type=kotlin.Boolean? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:val - GET_VAR 'value-parameter x: String?' type=kotlin.String? origin=null + 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 WHEN type=kotlin.Boolean? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? origin=null + 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 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 'equals(Any?): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? origin=null - other: GET_VAR 'value-parameter y: Any?' 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 '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:[] 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 x: Ref?' type=Ref? origin=null + 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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: Ref?' type=Ref? origin=null + 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 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 flags:[] superTypes:[kotlin.Any] CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_VAR 'tmp0_safe_receiver: Ref?' type=Ref? origin=null + 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 : 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? flags:[] + $receiver: VALUE_PARAMETER name: type:.IHost flags:[] + VALUE_PARAMETER name:s index:0 type:kotlin.String? flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5(String?) on IHost: Int?' + RETURN type=kotlin.Nothing from='FUN name:test5 visibility:public modality:FINAL <> ($receiver:.IHost, s:kotlin.String?) returnType:kotlin.Int? flags:[]' BLOCK type=kotlin.Int? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.String? flags:val - GET_VAR 'value-parameter s: String?' type=kotlin.String? origin=null + 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 WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? origin=null + 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 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 'extLength() on String: Int' type=kotlin.Int origin=null - $this: GET_VAR 'this@test5: IHost' type=IHost origin=null - $receiver: GET_VAR 'tmp0_safe_receiver: String?' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo() on Int: Int' + RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.Int flags:[]' 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 flags:[] 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 flags:[] 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 flags:[val] CONST Int type=kotlin.Int value=42 WHEN type=kotlin.Int? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: Int' type=kotlin.Int origin=null + 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 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 'foo() on Int: Int' type=kotlin.Int origin=null - $receiver: GET_VAR 'tmp0_safe_receiver: Int' type=kotlin.Int origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/sam/samConstructors.txt b/compiler/testData/ir/irText/expressions/sam/samConstructors.txt index 292c02938d8..296c8923a19 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(): Runnable' + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> () returnType:java.lang.Runnable flags:[]' 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 flags:[] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - FUNCTION_REFERENCE '(): Unit' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(() -> Unit): Runnable' + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:java.lang.Runnable flags:[]' 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 a: () -> Unit' 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 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:[] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(): Runnable' + RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> () returnType:java.lang.Runnable flags:[]' 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 'foo(): Unit' type=kotlin.reflect.KFunction0 origin=null + 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 diff --git a/compiler/testData/ir/irText/expressions/sam/samConversions.txt b/compiler/testData/ir/irText/expressions/sam/samConversions.txt index a94f683da70..67c2b2b7cae 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 flags:[] + $receiver: VALUE_PARAMETER name: type:.J flags:[] + VALUE_PARAMETER name:a index:0 type:java.lang.Runnable flags:[] BLOCK_BODY - CALL 'runStatic(Runnable!): Unit' type=kotlin.Unit origin=null - r: GET_VAR 'value-parameter a: Runnable' type=java.lang.Runnable origin=null - CALL 'runIt(Runnable!): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@test0: J' type=J origin=null - r: GET_VAR 'value-parameter a: Runnable' type=java.lang.Runnable origin=null - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + 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:[] BLOCK_BODY - CALL 'runStatic(Runnable!): Unit' 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 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 flags:[] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Unit' - CALL 'test1(): Unit' type=kotlin.Unit origin=null - FUNCTION_REFERENCE '(): Unit' 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='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:[] BLOCK_BODY - CALL 'runIt(Runnable!): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@test2: J' type=J 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: 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 flags:[] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Unit' - CALL 'test1(): Unit' type=kotlin.Unit origin=null - FUNCTION_REFERENCE '(): Unit' 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='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:[] BLOCK_BODY - CALL 'run2(Runnable!, Runnable!): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@test3: J' type=J 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: GET_VAR 'VALUE_PARAMETER name: type:.J flags:[]' 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 a: () -> Unit' type=kotlin.Function0 origin=null + 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 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 a: () -> Unit' 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 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:[] BLOCK_BODY - CALL 'runIt(Runnable!): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'this@test4: J' type=J 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: 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 flags:[] superTypes:[kotlin.Any] WHEN type=kotlin.Function0 origin=IF BRANCH - if: GET_VAR 'value-parameter flag: Boolean' type=kotlin.Boolean origin=null - then: GET_VAR 'value-parameter a: () -> Unit' type=kotlin.Function0 origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'value-parameter b: () -> Unit' type=kotlin.Function0 origin=null + then: GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Function0 flags:[]' 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 3e2ad43421f..9e5e8e452dd 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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[] 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 a: () -> Unit' type=kotlin.Function0 origin=null + 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 then: BLOCK type=kotlin.Unit origin=null - CALL 'runStatic(Runnable!): Unit' 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 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 a: () -> Unit' 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 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:[] 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 a: () -> Unit' type=kotlin.Function0 origin=null + 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 then: BLOCK type=kotlin.Unit origin=null - CALL 'run1(Runnable!): Unit' type=kotlin.Unit origin=null - $this: CALL 'constructor J()' type=J 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 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 a: () -> Unit' 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 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:[] 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 a: () -> Unit' type=kotlin.Function0 origin=null + 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 then: BLOCK type=kotlin.Unit origin=null - CALL 'run2(Runnable!, Runnable!): Unit' type=kotlin.Unit origin=null - $this: CALL 'constructor J()' type=J 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 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 a: () -> Unit' type=kotlin.Function0 origin=null + 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 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 a: () -> Unit' 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 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:[] 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 a: () -> Unit' type=kotlin.Function0 origin=null + 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 then: BLOCK type=kotlin.Unit origin=null - CALL 'run2(Runnable!, Runnable!): Unit' type=kotlin.Unit origin=null - $this: CALL 'constructor J()' type=J 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 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 a: () -> Unit' type=kotlin.Function0 origin=null + 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 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 b: () -> Unit' 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 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:[] 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 a: Any' type=kotlin.Any origin=null + 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 then: BLOCK type=kotlin.Unit origin=null - CALL 'run1(Runnable!): Unit' type=kotlin.Unit origin=null - $this: CALL 'constructor J()' type=J 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 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 a: Any' 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 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:[] 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 a: Any' type=kotlin.Any origin=null + 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 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 flags:[] 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 a: Any' type=kotlin.Any origin=null - CALL 'run1(Runnable!): Unit' type=kotlin.Unit origin=null - $this: CALL 'constructor J()' type=J origin=null + 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 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 a: Any' 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 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:[] 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 flags:[] 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 a: Any' type=kotlin.Any origin=null - CALL 'run1(Runnable!): Unit' type=kotlin.Unit origin=null - $this: CALL 'constructor J()' type=J origin=null + 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 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 flags:[] 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 a: Any' 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 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:[] 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 flags:[] 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 a: (Int) -> Int' type=kotlin.Function1 origin=null - CALL 'run1(Runnable!): Unit' type=kotlin.Unit origin=null - $this: CALL 'constructor J()' type=J origin=null + 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 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 flags:[] 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 a: (Int) -> Int' 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 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:[] BLOCK_BODY - CALL 'run1(Runnable!): Unit' type=kotlin.Unit origin=null - $this: CALL 'constructor J()' type=J 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 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 'id(T!): T!' type=kotlin.Function0? origin=null + 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 : kotlin.Function0? - x: GET_VAR 'value-parameter a: () -> Unit' type=kotlin.Function0 origin=null - FUN name:test9 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + 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:[] BLOCK_BODY - CALL 'run1(Runnable!): Unit' type=kotlin.Unit origin=null - $this: CALL 'constructor J()' type=J 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 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 'test9(): Unit' type=kotlin.reflect.KFunction0 origin=null + 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 diff --git a/compiler/testData/ir/irText/expressions/setFieldWithImplicitCast.txt b/compiler/testData/ir/irText/expressions/setFieldWithImplicitCast.txt index dd3280cb4b3..0d0ba18ecd0 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 flags:[] superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Derived flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base()' - INSTANCE_INITIALIZER_CALL classDescriptor='Derived' - 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 '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:[] 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 v: Any' type=kotlin.Any origin=null + 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 then: BLOCK type=kotlin.Unit origin=null - SET_FIELD 'value: String!' type=kotlin.Unit origin=EQ - receiver: GET_VAR 'this@Derived: Derived' type=Derived 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 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 v: Any' 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 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:[] 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 flags:[] + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/signedToUnsignedConversions_annotation.txt b/compiler/testData/ir/irText/expressions/signedToUnsignedConversions_annotation.txt index 33fdae06a65..c7ef90616bb 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/signedToUnsignedConversions_test.txt b/compiler/testData/ir/irText/expressions/signedToUnsignedConversions_test.txt index e771110a1ab..54477672434 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 flags:[const,val] annotations: - CALL 'constructor ImplicitIntegerCoercion()' type=kotlin.internal.ImplicitIntegerCoercion origin=null - FIELD PROPERTY_BACKING_FIELD name:IMPLICIT_INT type:kotlin.Int visibility:public flags:final,static + 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] 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 flags:[] + correspondingProperty: PROPERTY name:IMPLICIT_INT visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'IMPLICIT_INT: Int' type=kotlin.Int origin=null - PROPERTY name:EXPLICIT_INT visibility:public modality:FINAL flags:const,val + 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] annotations: - CALL 'constructor ImplicitIntegerCoercion()' type=kotlin.internal.ImplicitIntegerCoercion origin=null - FIELD PROPERTY_BACKING_FIELD name:EXPLICIT_INT type:kotlin.Int visibility:public flags:final,static + 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] 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 flags:[] + correspondingProperty: PROPERTY name:EXPLICIT_INT visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'EXPLICIT_INT: Int' type=kotlin.Int origin=null - PROPERTY name:LONG_CONST visibility:public modality:FINAL flags:const,val + 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] annotations: - CALL 'constructor ImplicitIntegerCoercion()' type=kotlin.internal.ImplicitIntegerCoercion origin=null - FIELD PROPERTY_BACKING_FIELD name:LONG_CONST type:kotlin.Long visibility:public flags:final,static + 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] 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 flags:[] + correspondingProperty: PROPERTY name:LONG_CONST visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Long' - GET_FIELD 'LONG_CONST: Long' type=kotlin.Long origin=null - PROPERTY name:NON_CONST visibility:public modality:FINAL flags:val + 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] annotations: - CALL 'constructor ImplicitIntegerCoercion()' type=kotlin.internal.ImplicitIntegerCoercion origin=null - FIELD PROPERTY_BACKING_FIELD name:NON_CONST type:kotlin.Int visibility:public flags:final,static + 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] 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 flags:[] + correspondingProperty: PROPERTY name:NON_CONST visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'NON_CONST: Int' type=kotlin.Int origin=null - PROPERTY name:BIGGER_THAN_UBYTE visibility:public modality:FINAL flags:const,val + 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] annotations: - CALL 'constructor ImplicitIntegerCoercion()' type=kotlin.internal.ImplicitIntegerCoercion origin=null - FIELD PROPERTY_BACKING_FIELD name:BIGGER_THAN_UBYTE type:kotlin.Int visibility:public flags:final,static + 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] 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 flags:[] + correspondingProperty: PROPERTY name:BIGGER_THAN_UBYTE visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'BIGGER_THAN_UBYTE: Int' type=kotlin.Int origin=null - PROPERTY name:UINT_CONST visibility:public modality:FINAL flags:const,val + 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] annotations: - CALL 'constructor ImplicitIntegerCoercion()' type=kotlin.internal.ImplicitIntegerCoercion origin=null - FIELD PROPERTY_BACKING_FIELD name:UINT_CONST type:kotlin.UInt visibility:public flags:final,static + 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] 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 flags:[] + correspondingProperty: PROPERTY name:UINT_CONST visibility:public modality:FINAL flags:[const,val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): UInt' - GET_FIELD 'UINT_CONST: UInt' 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='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:[] annotations: - CALL 'constructor ImplicitIntegerCoercion()' type=kotlin.internal.ImplicitIntegerCoercion origin=null + CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' 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 flags:[] + VALUE_PARAMETER name:u index:0 type:kotlin.UShort flags:[] annotations: - CALL 'constructor ImplicitIntegerCoercion()' type=kotlin.internal.ImplicitIntegerCoercion origin=null + CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' 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 flags:[] + VALUE_PARAMETER name:u index:0 type:kotlin.UInt flags:[] annotations: - CALL 'constructor ImplicitIntegerCoercion()' type=kotlin.internal.ImplicitIntegerCoercion origin=null + CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' 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 flags:[] + VALUE_PARAMETER name:u index:0 type:kotlin.ULong flags:[] annotations: - CALL 'constructor ImplicitIntegerCoercion()' type=kotlin.internal.ImplicitIntegerCoercion origin=null + CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' 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 flags:[] + VALUE_PARAMETER name:u index:0 type:kotlin.UByteArray varargElementType:kotlin.UByte flags:[vararg] annotations: - CALL 'constructor ImplicitIntegerCoercion()' type=kotlin.internal.ImplicitIntegerCoercion origin=null + CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' 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 flags:[] + VALUE_PARAMETER name:l index:0 type:kotlin.Long flags:[] annotations: - CALL 'constructor ImplicitIntegerCoercion()' type=kotlin.internal.ImplicitIntegerCoercion origin=null + CALL 'CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion flags:[primary]' 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 flags:[] BLOCK_BODY - CALL 'takeUByte(UByte): Unit' type=kotlin.Unit origin=null + CALL 'FUN name:takeUByte visibility:public modality:FINAL <> (u:kotlin.UByte) returnType:kotlin.Unit flags:[]' 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 '(): Int' type=kotlin.Int origin=GET_PROPERTY - CALL 'takeUByte(UByte): Unit' type=kotlin.Unit origin=null + 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 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 '(): Int' type=kotlin.Int origin=GET_PROPERTY - CALL 'takeUShort(UShort): Unit' type=kotlin.Unit origin=null + 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 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 '(): Int' type=kotlin.Int origin=GET_PROPERTY - CALL 'takeUShort(UShort): Unit' type=kotlin.Unit origin=null + 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 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 '(): Int' type=kotlin.Int origin=GET_PROPERTY - CALL 'takeUInt(UInt): Unit' type=kotlin.Unit origin=null + 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 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 '(): Int' type=kotlin.Int origin=GET_PROPERTY - CALL 'takeULong(ULong): Unit' type=kotlin.Unit origin=null + 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 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 '(): Int' type=kotlin.Int origin=GET_PROPERTY - CALL 'takeUBytes(vararg UByte): Unit' type=kotlin.Unit origin=null + 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 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 '(): Int' type=kotlin.Int origin=GET_PROPERTY + 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 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 '(): Int' type=kotlin.Int origin=GET_PROPERTY + 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 CONST Byte type=kotlin.UByte value=42 - CALL 'takeLong(Long): Unit' type=kotlin.Unit origin=null + CALL 'FUN name:takeLong visibility:public modality:FINAL <> (l:kotlin.Long) returnType:kotlin.Unit flags:[]' 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 '(): Int' type=kotlin.Int origin=GET_PROPERTY + 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 diff --git a/compiler/testData/ir/irText/expressions/simpleOperators.txt b/compiler/testData/ir/irText/expressions/simpleOperators.txt index 4335d642998..cb761e2b549 100644 --- a/compiler/testData/ir/irText/expressions/simpleOperators.txt +++ b/compiler/testData/ir/irText/expressions/simpleOperators.txt @@ -1,90 +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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Int flags:[] + VALUE_PARAMETER name:b index:1 type:kotlin.Int flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(Int, Int): Int' - CALL 'plus(Int): Int' type=kotlin.Int origin=PLUS - $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - other: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(Int, Int): Int' - CALL 'minus(Int): Int' type=kotlin.Int origin=MINUS - $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - other: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(Int, Int): Int' - CALL 'times(Int): Int' type=kotlin.Int origin=MUL - $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - other: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4(Int, Int): Int' - CALL 'div(Int): Int' type=kotlin.Int origin=DIV - $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - other: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5(Int, Int): Int' - CALL 'rem(Int): Int' type=kotlin.Int origin=PERC - $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - other: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test6(Int, Int): IntRange' - CALL 'rangeTo(Int): IntRange' type=kotlin.ranges.IntRange origin=RANGE - $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - other: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1x(Int, Int): Int' - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - other: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2x(Int, Int): Int' - CALL 'minus(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - other: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3x(Int, Int): Int' - CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - other: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4x(Int, Int): Int' - CALL 'div(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - other: GET_VAR 'value-parameter b: Int' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5x(Int, Int): Int' - CALL 'rem(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int origin=null - other: GET_VAR 'value-parameter b: Int' type=kotlin.Int origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/simpleUnaryOperators.txt b/compiler/testData/ir/irText/expressions/simpleUnaryOperators.txt index 1db78768e4d..5efbbf2eb4c 100644 --- a/compiler/testData/ir/irText/expressions/simpleUnaryOperators.txt +++ b/compiler/testData/ir/irText/expressions/simpleUnaryOperators.txt @@ -1,32 +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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(Int): Int' - CALL 'unaryMinus(): Int' type=kotlin.Int origin=UMINUS - $this: GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(): Int' + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(Int): Int' - CALL 'unaryPlus(): Int' type=kotlin.Int origin=UPLUS - $this: GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null - FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Int flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4(): Int' + RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Boolean flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test5(Boolean): Boolean' - CALL 'not(): Boolean' type=kotlin.Boolean origin=EXCL - $this: GET_VAR 'value-parameter x: Boolean' type=kotlin.Boolean origin=null - FUN name:test6 visibility:public modality:FINAL <> () returnType:kotlin.Boolean flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test6(): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test6 visibility:public modality:FINAL <> () returnType:kotlin.Boolean flags:[]' 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 b6c0d00d646..11a1badb8d3 100644 --- a/compiler/testData/ir/irText/expressions/smartCasts.txt +++ b/compiler/testData/ir/irText/expressions/smartCasts.txt @@ -1,76 +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 flags:[] + VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] 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 flags:[] + VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[] 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 flags:[] + VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='overloaded(String): String' - GET_VAR 'value-parameter s: String' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='overloaded(Any): Any' - GET_VAR 'value-parameter x: Any' 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='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:[] 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 x: Any' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='test1(Any): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - CALL 'println(Int): Unit' type=kotlin.Unit origin=null - message: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY + 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 $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 x: Any' type=kotlin.Any origin=null - CALL 'expectsString(String): Unit' type=kotlin.Unit origin=null + 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: 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 x: Any' type=kotlin.Any origin=null - CALL 'expectsInt(Int): Unit' type=kotlin.Unit origin=null - i: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY + 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 $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 x: Any' type=kotlin.Any origin=null - CALL 'expectsString(String): Unit' type=kotlin.Unit origin=null - s: CALL 'overloaded(String): String' type=kotlin.String origin=null + 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 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 x: Any' 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 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:[] 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 x: Any' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='test2(Any): 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:[]' CONST String type=kotlin.String value="" - RETURN type=kotlin.Nothing from='test2(Any): String' - CALL 'overloaded(String): String' type=kotlin.String origin=null + 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 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 x: Any' 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 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:[] 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 x: Any' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='test3(Any): 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:[]' CONST String type=kotlin.String value="" - RETURN type=kotlin.Nothing from='test3(Any): String' + RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String flags:[]' 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 x: Any' type=kotlin.Any origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/smartCastsWithDestructuring.txt b/compiler/testData/ir/irText/expressions/smartCastsWithDestructuring.txt index 2bd52825a26..8be202b705c 100644 --- a/compiler/testData/ir/irText/expressions/smartCastsWithDestructuring.txt +++ b/compiler/testData/ir/irText/expressions/smartCastsWithDestructuring.txt @@ -1,63 +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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1() on I1: Int' + RETURN type=kotlin.Nothing from='FUN name:component1 visibility:public modality:FINAL <> ($receiver:.I1) returnType:kotlin.Int flags:[]' 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 flags:[] + $receiver: VALUE_PARAMETER name: type:.I2 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component2() on I2: String' + RETURN type=kotlin.Nothing from='FUN name:component2 visibility:public modality:FINAL <> ($receiver:.I2) returnType:kotlin.String flags:[]' 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 flags:[] + VALUE_PARAMETER name:x index:0 type:.I1 flags:[] 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 x: I1' type=I1 origin=null - then: RETURN type=kotlin.Nothing from='test(I1): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit + 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 COMPOSITE type=kotlin.Unit origin=DESTRUCTURING_DECLARATION - VAR IR_TEMPORARY_VARIABLE name:tmp0_container type:I1 flags:val - GET_VAR 'value-parameter x: I1' type=I1 origin=null - VAR name:c1 type:kotlin.Int flags:val - CALL 'component1() on I1: Int' type=kotlin.Int origin=COMPONENT_N(index=1) - $receiver: GET_VAR 'tmp0_container: I1' type=I1 origin=null - VAR name:c2 type:kotlin.String flags:val - CALL 'component2() on I2: String' 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 'tmp0_container: I1' type=I1 origin=null - + 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) + $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 diff --git a/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.txt b/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.txt index 08afdf5dabd..6ac7b63c95f 100644 --- a/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.txt +++ b/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.txt @@ -1,40 +1,40 @@ 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 flags: + CLASS CLASS name:Cell modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell<.Cell.T> flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (value:T) returnType:Cell flags:primary - VALUE_PARAMETER name:value index:0 type:T flags: + CONSTRUCTOR visibility:public <> (value:.Cell.T) returnType:.Cell<.Cell.T> flags:[primary] + VALUE_PARAMETER name:value index:0 type:.Cell.T flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Cell' - PROPERTY name:value visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:value type:T visibility:public flags:final + 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] 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:Cell) returnType:T flags: - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Cell flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): T' - GET_FIELD 'value: T' type=T origin=null - receiver: GET_VAR 'this@Cell: Cell' type=Cell 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] TYPEALIAS typealias IntAlias = Cell type=Cell - FUN name:test visibility:public modality:FINAL <> () returnType:Cell flags: + FUN name:test visibility:public modality:FINAL <> () returnType:.Cell flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(): IntAlias /* = Cell */' - CALL 'constructor Cell(T)' type=Cell origin=null + 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 : 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 e96f30f8153..a34d224050c 100644 --- a/compiler/testData/ir/irText/expressions/stringComparisons.txt +++ b/compiler/testData/ir/irText/expressions/stringComparisons.txt @@ -1,42 +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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[] + VALUE_PARAMETER name:b index:1 type:kotlin.String flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(String, String): Boolean' - CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT - arg0: CALL 'compareTo(String): Int' type=kotlin.Int origin=GT - $this: GET_VAR 'value-parameter a: String' type=kotlin.String origin=null - other: GET_VAR 'value-parameter b: String' type=kotlin.String origin=null + 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 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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[] + VALUE_PARAMETER name:b index:1 type:kotlin.String flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(String, String): Boolean' - CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: CALL 'compareTo(String): Int' type=kotlin.Int origin=LT - $this: GET_VAR 'value-parameter a: String' type=kotlin.String origin=null - other: GET_VAR 'value-parameter b: String' type=kotlin.String origin=null + 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 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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[] + VALUE_PARAMETER name:b index:1 type:kotlin.String flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(String, String): Boolean' - CALL 'greaterOrEqual(Int, Int): Boolean' type=kotlin.Boolean origin=GTEQ - arg0: CALL 'compareTo(String): Int' type=kotlin.Int origin=GTEQ - $this: GET_VAR 'value-parameter a: String' type=kotlin.String origin=null - other: GET_VAR 'value-parameter b: String' type=kotlin.String origin=null + 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 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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[] + VALUE_PARAMETER name:b index:1 type:kotlin.String flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4(String, String): Boolean' - CALL 'lessOrEqual(Int, Int): Boolean' type=kotlin.Boolean origin=LTEQ - arg0: CALL 'compareTo(String): Int' type=kotlin.Int origin=LTEQ - $this: GET_VAR 'value-parameter a: String' type=kotlin.String origin=null - other: GET_VAR 'value-parameter b: String' type=kotlin.String origin=null + 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 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 41d3e77ed0e..4ca0f270a55 100644 --- a/compiler/testData/ir/irText/expressions/stringPlus.txt +++ b/compiler/testData/ir/irText/expressions/stringPlus.txt @@ -1,34 +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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[] + VALUE_PARAMETER name:b index:1 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(String, Any): String' - CALL 'plus(Any?): String' type=kotlin.String origin=PLUS - $this: GET_VAR 'value-parameter a: String' type=kotlin.String origin=null - other: GET_VAR 'value-parameter b: Any' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(String, Int): String' - CALL 'plus(Any?): String' type=kotlin.String origin=PLUS - $this: CALL 'plus(Any?): String' type=kotlin.String origin=PLUS - $this: GET_VAR 'value-parameter a: String' type=kotlin.String origin=null + 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 other: CONST String type=kotlin.String value="+" - other: GET_VAR 'value-parameter b: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(String, Int): String' - CALL 'plus(Any?): String' type=kotlin.String origin=PLUS - $this: CALL 'plus(Any?): String' type=kotlin.String origin=PLUS - $this: CALL 'plus(Any?): String' type=kotlin.String origin=PLUS - $this: GET_VAR 'value-parameter a: String' type=kotlin.String origin=null + 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 other: CONST String type=kotlin.String value="+" - other: CALL 'plus(Int): Int' type=kotlin.Int origin=PLUS - $this: GET_VAR 'value-parameter b: Int' type=kotlin.Int origin=null + 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: CONST Int type=kotlin.Int value=1 - other: GET_VAR 'value-parameter a: String' type=kotlin.String origin=null - + other: GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null diff --git a/compiler/testData/ir/irText/expressions/stringTemplates.txt b/compiler/testData/ir/irText/expressions/stringTemplates.txt index 4679c949c5a..e6ad2d0df02 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(): String' + RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'test1: String' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'test2: String' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'test3: String' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'test4: String' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'test5: String' 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='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] EXPRESSION_BODY STRING_CONCATENATION type=kotlin.String - CALL '(): String' type=kotlin.String origin=GET_PROPERTY + CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY CONST String type=kotlin.String value=" " - CALL 'foo(): String' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'test6: String' 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='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] EXPRESSION_BODY STRING_CONCATENATION type=kotlin.String - CALL '(): String' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'test7: String' 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='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] EXPRESSION_BODY STRING_CONCATENATION type=kotlin.String - CALL 'foo(): String' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'test8: String' 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='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] EXPRESSION_BODY STRING_CONCATENATION type=kotlin.String - CALL '(): Int' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_FIELD 'test9: String' type=kotlin.String origin=null + 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 diff --git a/compiler/testData/ir/irText/expressions/temporaryInEnumEntryInitializer.txt b/compiler/testData/ir/irText/expressions/temporaryInEnumEntryInitializer.txt index 0a0837f16bd..4038e3ffae2 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:n type:kotlin.Any? visibility:public flags:[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? flags:[] + correspondingProperty: PROPERTY name:n visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Any?' - GET_FIELD 'n: Any?' type=kotlin.Any? origin=null - CLASS ENUM_CLASS name:En modality:FINAL visibility:public flags: superTypes:[kotlin.Enum] - $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='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:[] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: En - INSTANCE_INITIALIZER_CALL classDescriptor='En' - PROPERTY name:x visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String? visibility:public flags:final + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .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] EXPRESSION_BODY - GET_VAR 'value-parameter x: String?' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String?' - GET_FIELD 'x: String?' type=kotlin.String? origin=null - receiver: GET_VAR 'this@En: En' type=En origin=null + 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 ENUM_ENTRY name:ENTRY - init: ENUM_CONSTRUCTOR_CALL 'constructor En(String?)' + init: ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR visibility:private <> (x:kotlin.String?) returnType:.En flags:[primary]' x: BLOCK type=kotlin.String? origin=SAFE_CALL - VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Any? flags:val - CALL '(): Any?' type=kotlin.Any? origin=GET_PROPERTY + 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 WHEN type=kotlin.String? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null + 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 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 'toString(): String' type=kotlin.String origin=null - $this: GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:En flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/expressions/temporaryInInitBlock.txt b/compiler/testData/ir/irText/expressions/temporaryInInitBlock.txt index 1558bcb3b62..65961c2c7d9 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String?' - GET_FIELD 's: String?' type=kotlin.String? origin=null - receiver: GET_VAR 'this@C: C' type=C origin=null - ANONYMOUS_INITIALIZER C + 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 + ANONYMOUS_INITIALIZER isStatic=false BLOCK_BODY - SET_FIELD 's: String?' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@C: C' type=C origin=null + 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 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 x: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.String? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null + 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 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 'toString(): String' type=kotlin.String origin=null - $this: GET_VAR 'tmp0_safe_receiver: Any?' 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 '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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.txt b/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.txt index b20abf7f4bf..9414f070320 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 flags: + CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer<.Outer.T> flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:T) returnType:Outer flags:primary - VALUE_PARAMETER name:x index:0 type:T flags: + CONSTRUCTOR visibility:public <> (x:.Outer.T) returnType:.Outer<.Outer.T> flags:[primary] + VALUE_PARAMETER name:x index:0 type:.Outer.T flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Outer' - PROPERTY name:x visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:x type:T visibility:public flags:final + 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: T' type=T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Outer) returnType:T flags: - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Outer flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): T' - GET_FIELD 'x: T' type=T origin=null - receiver: GET_VAR 'this@Outer: Outer' type=Outer origin=null - 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, y:kotlin.Int) returnType:Outer.Inner flags:primary - $outer: VALUE_PARAMETER name: type:Outer flags: - VALUE_PARAMETER name:y index:0 type:kotlin.Int flags: + 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Inner' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter y: Int' 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:y visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Outer.Inner flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'y: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@Inner: Inner' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test() on Outer: Outer.Inner' - 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 + RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> ($receiver:.Outer) returnType:.Outer.Inner flags:[]' + 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Inner(Int)' - $this: GET_VAR 'this@test: Outer' type=Outer origin=null + 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 y: CONST Int type=kotlin.Int value=42 - INSTANCE_INITIALIZER_CALL classDescriptor='' - 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 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] EXPRESSION_BODY - CALL 'plus(Int): Int' type=kotlin.Int origin=PLUS - $this: CALL '(): T' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@test: Outer' type=Outer origin=null - other: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@: ' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'xx: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@: ' 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='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] 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<.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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 ()' type=test. origin=OBJECT_LITERAL + 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 diff --git a/compiler/testData/ir/irText/expressions/thisReferenceBeforeClassDeclared.txt b/compiler/testData/ir/irText/expressions/thisReferenceBeforeClassDeclared.txt index d10e7efb373..d129fe09f88 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 flags:[] + $receiver: VALUE_PARAMETER name: type:.WithCompanion flags:[] BLOCK_BODY - VAR name:test1 type:test. flags: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 + VAR name:test1 type:.test. flags:[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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor WithCompanion(WithCompanion.Companion)' - a: GET_OBJECT 'companion object of WithCompanion' type=WithCompanion.Companion - INSTANCE_INITIALIZER_CALL classDescriptor='' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 ()' type=test. origin=OBJECT_LITERAL - VAR name:test2 type:test. flags: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 + 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] + 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor WithCompanion(WithCompanion.Companion)' - a: CALL 'foo(): WithCompanion.Companion' type=WithCompanion.Companion origin=null - $this: GET_OBJECT 'companion object of WithCompanion' type=WithCompanion.Companion - INSTANCE_INITIALIZER_CALL classDescriptor='' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 ()' 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='WithCompanion' - 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 '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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='companion object of WithCompanion' - 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(): WithCompanion.Companion' - GET_VAR 'this@Companion: Companion' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/throw.txt b/compiler/testData/ir/irText/expressions/throw.txt index d236fcbd698..866badb43dd 100644 --- a/compiler/testData/ir/irText/expressions/throw.txt +++ b/compiler/testData/ir/irText/expressions/throw.txt @@ -1,19 +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 flags:[] BLOCK_BODY THROW type=kotlin.Nothing - CALL 'constructor Throwable()' 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 '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:[] 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 a: Any' type=kotlin.Any origin=null + 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 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 a: Any' type=kotlin.Any origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/tryCatch.txt b/compiler/testData/ir/irText/expressions/tryCatch.txt index a0eea5e5d44..85ef1259bd1 100644 --- a/compiler/testData/ir/irText/expressions/tryCatch.txt +++ b/compiler/testData/ir/irText/expressions/tryCatch.txt @@ -1,30 +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 flags:[] BLOCK_BODY TRY type=kotlin.Unit try: BLOCK type=kotlin.Unit origin=null - CALL 'println(): Unit' type=kotlin.Unit origin=null - CATCH parameter=e: Throwable - VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:val + 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] BLOCK type=kotlin.Unit origin=null - CALL 'println(): Unit' 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 finally: BLOCK type=kotlin.Unit origin=null - CALL 'println(): Unit' type=kotlin.Unit origin=null - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(): Int' + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' TRY type=kotlin.Int try: BLOCK type=kotlin.Int origin=null - CALL 'println(): Unit' 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 CONST Int type=kotlin.Int value=42 - CATCH parameter=e: Throwable - VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:val + CATCH parameter=VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:[val] + VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:[val] BLOCK type=kotlin.Int origin=null - CALL 'println(): Unit' 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 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 flags:[] superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=null - CALL 'println(): Unit' 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 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 5db291b5cfb..33c9d65b3da 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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] 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 a: Any' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='testImplicitCast(Any): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - VAR name:t type:kotlin.String flags:val + 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] 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 a: Any' type=kotlin.Any origin=null - CATCH parameter=e: Throwable - VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:val + 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] 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 28d762c3109..ec8b3439879 100644 --- a/compiler/testData/ir/irText/expressions/typeArguments.txt +++ b/compiler/testData/ir/irText/expressions/typeArguments.txt @@ -1,19 +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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(Any): Boolean' + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Boolean flags:[]' 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 x: Any' type=kotlin.Any origin=null - then: CALL 'isArrayOf() on Array<*>: Boolean' type=kotlin.Boolean origin=null + 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 : 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 x: Any' type=kotlin.Any origin=null + 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 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 add7d9e1b5d..0674a7006ce 100644 --- a/compiler/testData/ir/irText/expressions/typeOperators.txt +++ b/compiler/testData/ir/irText/expressions/typeOperators.txt @@ -1,45 +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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(Any): Boolean' - 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 x: Any' 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: + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Boolean flags:[]' + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(Any): Boolean' - 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 x: Any' 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: + RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Boolean flags:[]' + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(Any): IThing' - 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 x: Any' 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: + RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:.IThing flags:[]' + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4(Any): IThing?' - 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 x: Any' type=kotlin.Any origin=null - + RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:.IThing? flags:[]' + 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 diff --git a/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.txt b/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.txt index be45fee80c5..38da0def35c 100644 --- a/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.txt +++ b/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.txt @@ -1,62 +1,61 @@ FILE fqName: fileName:/typeParameterClassLiteral.kt - FUN name:classRefFun visibility:public modality:FINAL () returnType:kotlin.reflect.KClass flags:inline + FUN name:classRefFun visibility:public modality:FINAL () returnType:kotlin.reflect.KClass<.classRefFun.T> flags:[inline] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] BLOCK_BODY - RETURN type=kotlin.Nothing from='classRefFun(): KClass' - CLASS_REFERENCE '' type=kotlin.reflect.KClass - FUN name:classRefExtFun visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:kotlin.reflect.KClass flags:inline + 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] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='classRefExtFun() on Any: KClass' - CLASS_REFERENCE '' type=kotlin.reflect.KClass - PROPERTY name:classRefExtVal visibility:public modality:FINAL flags:val - FUN name: visibility:public modality:FINAL ($receiver:T) returnType:kotlin.reflect.KClass flags:inline - correspondingProperty: PROPERTY name:classRefExtVal visibility:public modality:FINAL flags:val + 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] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] - $receiver: VALUE_PARAMETER name: type:T flags: + $receiver: VALUE_PARAMETER name: type:..T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on T: KClass' - CLASS_REFERENCE '' type=kotlin.reflect.KClass - 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='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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Host' - FUN name:classRefGenericMemberFun visibility:public modality:FINAL ($this:Host) returnType:kotlin.reflect.KClass flags:inline + 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] TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any] - $this: VALUE_PARAMETER name: type:Host flags: + $this: VALUE_PARAMETER name: type:.Host flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='classRefGenericMemberFun(): KClass' - CLASS_REFERENCE '' type=kotlin.reflect.KClass - FUN name:classRefGenericMemberExtFun visibility:public modality:FINAL ($this:Host, $receiver:kotlin.Any) returnType:kotlin.reflect.KClass flags:inline + 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] 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 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Any flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='classRefGenericMemberExtFun() on Any: KClass' - CLASS_REFERENCE '' type=kotlin.reflect.KClass - PROPERTY name:classRefGenericMemberExtVal visibility:public modality:FINAL flags:val - FUN name: visibility:public modality:FINAL ($this:Host, $receiver:TV) returnType:kotlin.reflect.KClass flags:inline - correspondingProperty: PROPERTY name:classRefGenericMemberExtVal visibility:public modality:FINAL flags:val + 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] TYPE_PARAMETER name:TV index:0 variance: superTypes:[kotlin.Any] - $this: VALUE_PARAMETER name: type:Host flags: - $receiver: VALUE_PARAMETER name: type:TV flags: + $this: VALUE_PARAMETER name: type:.Host flags:[] + $receiver: VALUE_PARAMETER name: type:.Host..TV flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on TV: KClass' - CLASS_REFERENCE '' type=kotlin.reflect.KClass - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/expressions/unsignedIntegerLiterals.txt b/compiler/testData/ir/irText/expressions/unsignedIntegerLiterals.txt index a183060c99d..e049f960690 100644 --- a/compiler/testData/ir/irText/expressions/unsignedIntegerLiterals.txt +++ b/compiler/testData/ir/irText/expressions/unsignedIntegerLiterals.txt @@ -1,96 +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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:testSimpleUIntLiteral type:kotlin.UInt visibility:public flags:[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 flags:[] + correspondingProperty: PROPERTY name:testSimpleUIntLiteral visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): UInt' - GET_FIELD 'testSimpleUIntLiteral: UInt' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:testSimpleUIntLiteralWithOverflow visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): UInt' - GET_FIELD 'testSimpleUIntLiteralWithOverflow: UInt' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:testUByteWithExpectedType visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): UByte' - GET_FIELD 'testUByteWithExpectedType: UByte' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:testUShortWithExpectedType visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): UShort' - GET_FIELD 'testUShortWithExpectedType: UShort' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:testUIntWithExpectedType visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): UInt' - GET_FIELD 'testUIntWithExpectedType: UInt' 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='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] 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 flags:[] + correspondingProperty: PROPERTY name:testULongWithExpectedType visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): ULong' - GET_FIELD 'testULongWithExpectedType: ULong' 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='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] EXPRESSION_BODY - CALL 'toUByte() on Int: UByte' type=kotlin.UByte origin=null + 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 $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 flags:[] + correspondingProperty: PROPERTY name:testToUByte visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): UByte' - GET_FIELD 'testToUByte: UByte' 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='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] EXPRESSION_BODY - CALL 'toUShort() on Int: UShort' type=kotlin.UShort origin=null + 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 $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 flags:[] + correspondingProperty: PROPERTY name:testToUShort visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): UShort' - GET_FIELD 'testToUShort: UShort' 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='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] EXPRESSION_BODY - CALL 'toUInt() on Int: UInt' type=kotlin.UInt origin=null + 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 $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 flags:[] + correspondingProperty: PROPERTY name:testToUInt visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): UInt' - GET_FIELD 'testToUInt: UInt' 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='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] EXPRESSION_BODY - CALL 'toULong() on Int: ULong' type=kotlin.ULong origin=null + 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 $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 flags:[] + correspondingProperty: PROPERTY name:testToULong visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): ULong' - GET_FIELD 'testToULong: ULong' type=kotlin.ULong origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/useImportedMember.txt b/compiler/testData/ir/irText/expressions/useImportedMember.txt index 0bbcc533238..3cc0e18ea09 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 flags: + CLASS INTERFACE name:I modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I<.I.G> flags:[] TYPE_PARAMETER name:G index:0 variance: superTypes:[kotlin.Any?] - FUN name:fromInterface visibility:public modality:OPEN ($this:I, $receiver:T) returnType:T flags: + FUN name:fromInterface visibility:public modality:OPEN ($this:.I<.I.G>, $receiver:.I.fromInterface.T) returnType:.I.fromInterface.T flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:I flags: - $receiver: VALUE_PARAMETER name: type:T flags: + $this: VALUE_PARAMETER name: type:.I<.I.G> flags:[] + $receiver: VALUE_PARAMETER name: type:.I.fromInterface.T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='fromInterface() on T: T' - GET_VAR 'this@fromInterface: T' type=T origin=null - FUN name:genericFromSuper visibility:public modality:OPEN <> ($this:I, g:G) returnType:G flags: - $this: VALUE_PARAMETER name: type:I flags: - VALUE_PARAMETER name:g index:0 type:G flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='genericFromSuper(G): G' - GET_VAR 'value-parameter g: G' type=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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='BaseClass' - PROPERTY name:fromClass visibility:public modality:FINAL flags:val - FUN name: visibility:public modality:FINAL ($this:BaseClass, $receiver:T) returnType:T flags: - correspondingProperty: PROPERTY name:fromClass visibility:public modality:FINAL flags:val + 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] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:BaseClass flags: - $receiver: VALUE_PARAMETER name: type:T flags: + $this: VALUE_PARAMETER name: type:.BaseClass flags:[] + $receiver: VALUE_PARAMETER name: type:.BaseClass..T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on T: T' - GET_VAR 'this@fromClass: T' type=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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor BaseClass()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='f(Int): Int' + RETURN type=kotlin.Nothing from='FUN name:f visibility:public modality:FINAL <> ($this:.C, s:kotlin.Int) returnType:kotlin.Int flags:[]' 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 flags:[] + $this: VALUE_PARAMETER name: type:.C flags:[] + VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='f(String): Int' + RETURN type=kotlin.Nothing from='FUN name:f visibility:public modality:FINAL <> ($this:.C, s:kotlin.String) returnType:kotlin.Int flags:[]' 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 flags:[] + $this: VALUE_PARAMETER name: type:.C flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.Boolean flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='f() on Boolean: Int' + RETURN type=kotlin.Nothing from='FUN name:f visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Boolean) returnType:kotlin.Int flags:[]' 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 flags:[var] + FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:public flags:[] 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 flags:[] + correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:[var] + $this: VALUE_PARAMETER name: type:.C flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'p: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@C: C' 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='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:[] BLOCK_BODY - SET_FIELD 'p: 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: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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on Int: Int' + RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Int) returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=6 - FUN name:g1 visibility:public modality:FINAL ($this:C, t:T) returnType:T flags: + FUN name:g1 visibility:public modality:FINAL ($this:.C, t:.C.g1.T) returnType:.C.g1.T flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:C flags: - VALUE_PARAMETER name:t index:0 type:T flags: + $this: VALUE_PARAMETER name: type:.C flags:[] + VALUE_PARAMETER name:t index:0 type:.C.g1.T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='g1(T): T' - GET_VAR 'value-parameter t: T' type=T origin=null - PROPERTY name:g2 visibility:public modality:FINAL flags:val - FUN name: visibility:public modality:FINAL ($this:C, $receiver:T) returnType:T flags: - correspondingProperty: PROPERTY name:g2 visibility:public modality:FINAL flags:val + 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] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:C flags: - $receiver: VALUE_PARAMETER name: type:T flags: + $this: VALUE_PARAMETER name: type:.C flags:[] + $receiver: VALUE_PARAMETER name: type:.C..T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on T: T' - GET_VAR 'this@g2: T' type=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:T) returnType:T flags: - correspondingProperty: PROPERTY FAKE_OVERRIDE name:fromClass visibility:public modality:FINAL flags:val + 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] overridden: - FUN name: visibility:public modality:FINAL ($this:BaseClass, $receiver:T) returnType:T flags: + FUN name: visibility:public modality:FINAL ($this:.BaseClass, $receiver:.BaseClass..T) returnType:.BaseClass..T flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:BaseClass flags: - $receiver: VALUE_PARAMETER name: type:T flags: - FUN FAKE_OVERRIDE name:fromInterface visibility:public modality:OPEN ($this:I, $receiver:T) returnType:T flags: + $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:[] overridden: - FUN name:fromInterface visibility:public modality:OPEN ($this:I, $receiver:T) returnType:T flags: + FUN name:fromInterface visibility:public modality:OPEN ($this:.I<.I.G>, $receiver:.I.fromInterface.T) returnType:.I.fromInterface.T flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:I flags: - $receiver: VALUE_PARAMETER name: type: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 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:[] overridden: - FUN name:genericFromSuper visibility:public modality:OPEN <> ($this:I, g:G) returnType: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:.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:[] 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 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:[] 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 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:[] 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 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:[] BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'f(Int): Int' type=kotlin.Int origin=null - $this: GET_OBJECT 'C' type=C + 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 s: CONST Int type=kotlin.Int value=1 arg1: CONST Int type=kotlin.Int value=1 - then: RETURN type=kotlin.Nothing from='box(): String' + then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="1" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'f(String): Int' type=kotlin.Int origin=null - $this: GET_OBJECT 'C' type=C + 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 s: CONST String type=kotlin.String value="s" arg1: CONST Int type=kotlin.Int value=2 - then: RETURN type=kotlin.Nothing from='box(): String' + then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="2" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'f() on Boolean: Int' type=kotlin.Int origin=null - $this: GET_OBJECT 'C' type=C + 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 $receiver: CONST Boolean type=kotlin.Boolean value=true arg1: CONST Int type=kotlin.Int value=3 - then: RETURN type=kotlin.Nothing from='box(): String' + then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="3" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_OBJECT 'C' type=C + 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 arg1: CONST Int type=kotlin.Int value=4 - then: RETURN type=kotlin.Nothing from='box(): String' + then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="4" - CALL '(Int): Unit' type=kotlin.Unit origin=EQ - $this: GET_OBJECT 'C' type=C + 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 : CONST Int type=kotlin.Int value=5 WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_OBJECT 'C' type=C + 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 arg1: CONST Int type=kotlin.Int value=5 - then: RETURN type=kotlin.Nothing from='box(): String' + then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="5" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '() on Int: Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_OBJECT 'C' type=C + 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 $receiver: CONST Int type=kotlin.Int value=5 arg1: CONST Int type=kotlin.Int value=6 - then: RETURN type=kotlin.Nothing from='box(): String' + then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="6" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'g1(T): T' type=kotlin.String origin=null + 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 : kotlin.String - $this: GET_OBJECT 'C' type=C + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] 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='box(): String' + then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="7" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '() on T: T' type=kotlin.String origin=GET_PROPERTY + 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 <`0>: kotlin.String - $this: GET_OBJECT 'C' type=C + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] 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='box(): String' + then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="8" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'fromInterface() on T: T' type=kotlin.Int origin=null + 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 : kotlin.Int - $this: GET_OBJECT 'C' type=C + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] 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='box(): String' + then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="9" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '() on T: T' type=kotlin.String origin=GET_PROPERTY + 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 <`0>: kotlin.String - $this: GET_OBJECT 'C' type=C + $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public flags:[] 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='box(): String' + then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="10" WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'genericFromSuper(String): String' type=kotlin.String origin=null - $this: GET_OBJECT 'C' type=C + 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 g: CONST String type=kotlin.String value="11" arg1: CONST String type=kotlin.String value="11" - then: RETURN type=kotlin.Nothing from='box(): String' + then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="11" - RETURN type=kotlin.Nothing from='box(): String' + RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' 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 75391faab63..33b30d6aac2 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] - $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 flags:[] superTypes:[kotlin.Enum<.Enum>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Enum flags:[] + CONSTRUCTOR visibility:private <> () returnType:.Enum flags:[primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: Enum - INSTANCE_INITIALIZER_CALL classDescriptor='Enum' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .Enum + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Enum modality:FINAL visibility:public flags:[] superTypes:[kotlin.Enum<.Enum>]' ENUM_ENTRY name:A - init: ENUM_CONSTRUCTOR_CALL 'constructor Enum()' - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:Enum flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] 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 flags:[] + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'a: Int' 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='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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Z' - 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 '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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='companion object of Z' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN name:test1 visibility:public modality:FINAL <> () returnType:.Enum flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(): Enum' - GET_ENUM 'A' type=Enum - FUN name:test2 visibility:public modality:FINAL <> () returnType:A flags: + RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> () returnType:.Enum flags:[]' + GET_ENUM 'ENUM_ENTRY name:A' type=.Enum + FUN name:test2 visibility:public modality:FINAL <> () returnType:.A flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(): A' - GET_OBJECT 'A' type=A - FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Int flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(): Int' - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - FUN name:test4 visibility:public modality:FINAL <> () returnType:Z.Companion flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4(): Z.Companion' - GET_OBJECT 'companion object of Z' type=Z.Companion + 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 diff --git a/compiler/testData/ir/irText/expressions/vararg.txt b/compiler/testData/ir/irText/expressions/vararg.txt index 1a6eb669d7d..a0cd2e786fe 100644 --- a/compiler/testData/ir/irText/expressions/vararg.txt +++ b/compiler/testData/ir/irText/expressions/vararg.txt @@ -1,43 +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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Array visibility:public flags:[final,static] EXPRESSION_BODY - CALL 'arrayOf(vararg T): Array' type=kotlin.Array origin=null + 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 : 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 flags:[] + correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Array' - GET_FIELD 'test1: Array' 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='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] EXPRESSION_BODY - CALL 'arrayOf(vararg T): Array' type=kotlin.Array origin=null + 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 : 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 flags:[] + correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Array' - GET_FIELD 'test2: Array' 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='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] EXPRESSION_BODY - CALL 'arrayOf(vararg T): Array' type=kotlin.Array origin=null + 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 : kotlin.String elements: VARARG type=kotlin.Array varargElementType=kotlin.String CONST String type=kotlin.String value="0" SPREAD_ELEMENT - CALL '(): Array' type=kotlin.Array origin=GET_PROPERTY + CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Array flags:[]' type=kotlin.Array origin=GET_PROPERTY SPREAD_ELEMENT - CALL '(): Array' type=kotlin.Array origin=GET_PROPERTY + CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Array flags:[]' 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 flags:[] + correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Array' - GET_FIELD 'test3: Array' type=kotlin.Array origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/varargWithImplicitCast.txt b/compiler/testData/ir/irText/expressions/varargWithImplicitCast.txt index 2d3025d16ae..3426b6035ae 100644 --- a/compiler/testData/ir/irText/expressions/varargWithImplicitCast.txt +++ b/compiler/testData/ir/irText/expressions/varargWithImplicitCast.txt @@ -1,35 +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 flags:[] + VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:[] 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 a: Any' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='testScalar(Any): IntArray' - CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray origin=null - RETURN type=kotlin.Nothing from='testScalar(Any): IntArray' - CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray origin=null + 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 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 a: Any' 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 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:[] 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 a: Any' type=kotlin.Any origin=null - then: RETURN type=kotlin.Nothing from='testSpread(Any): IntArray' - CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray origin=null - RETURN type=kotlin.Nothing from='testSpread(Any): IntArray' - CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray origin=null + 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 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 a: Any' type=kotlin.Any origin=null - + 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 diff --git a/compiler/testData/ir/irText/expressions/variableAsFunctionCall.txt b/compiler/testData/ir/irText/expressions/variableAsFunctionCall.txt index 467d17c9d5f..1050d9b8ceb 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 flags:[] + $receiver: VALUE_PARAMETER name: type:kotlin.String flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='k() on String: () -> String' + RETURN type=kotlin.Nothing from='FUN name:k visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Function0 flags:[]' 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String' - GET_VAR 'this@k: String' type=kotlin.String origin=null - FUNCTION_REFERENCE '(): String' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(() -> Unit): Unit' - CALL 'invoke(): R' type=kotlin.Unit origin=INVOKE - $this: GET_VAR 'value-parameter f: () -> Unit' type=kotlin.Function0 origin=VARIABLE_AS_FUNCTION - FUN name:test2 visibility:public modality:FINAL <> (f:@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1) returnType:kotlin.Unit flags: - VALUE_PARAMETER name:f index:0 type:@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test2(String.() -> Unit): Unit' - CALL 'invoke(P1): R' type=kotlin.Unit origin=INVOKE - $this: GET_VAR 'value-parameter f: String.() -> Unit' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=VARIABLE_AS_FUNCTION + 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 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test3(): String' - CALL 'invoke(): R' type=kotlin.String origin=null - $this: CALL 'k() on String: () -> String' type=kotlin.Function0 origin=null + 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 $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? flags:[] + VALUE_PARAMETER name:ns index:0 type:kotlin.String? flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test4(String?): String?' + RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <> (ns:kotlin.String?) returnType:kotlin.String? flags:[]' 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? flags:[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 ns: String?' type=kotlin.String? origin=null + 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 WHEN type=kotlin.Function0? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? origin=null + 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 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 'k() on String: () -> String' type=kotlin.Function0 origin=null - $receiver: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? origin=null + 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 WHEN type=kotlin.String? origin=null BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp1_safe_receiver: (() -> String)?' type=kotlin.Function0? origin=null + 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 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 'invoke(): R' type=kotlin.String origin=null - $this: GET_VAR 'tmp1_safe_receiver: (() -> String)?' type=kotlin.Function0? origin=null + 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 diff --git a/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.txt b/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.txt index 0d74f642318..aa5f5872086 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 flags: - correspondingProperty: PROPERTY name:gk visibility:public modality:FINAL flags:val + 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] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence] - $receiver: VALUE_PARAMETER name: type:T flags: + $receiver: VALUE_PARAMETER name: type:..T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on T: () -> T' - BLOCK type=kotlin.Function0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:T flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): T' - GET_VAR 'this@gk: T' type=T origin=null - FUNCTION_REFERENCE '(): T' type=kotlin.Function0 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testGeneric1(String): String' - CALL 'invoke(): R' type=kotlin.String origin=INVOKE - $this: CALL '() on T: () -> T' type=kotlin.Function0 origin=GET_PROPERTY + 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 <`0>: kotlin.String - $receiver: GET_VAR 'value-parameter x: String' 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 flags: - correspondingProperty: PROPERTY name:kt26531Val visibility:public modality:FINAL flags:val + $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] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:T flags: + $receiver: VALUE_PARAMETER name: type:..T flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on T: () -> T' - BLOCK type=kotlin.Function0 origin=ANONYMOUS_FUNCTION - FUN name: visibility:local modality:FINAL <> () returnType:T flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): T' - GET_VAR 'this@kt26531Val: T' type=T origin=null - FUNCTION_REFERENCE '(): T' type=kotlin.Function0 origin=ANONYMOUS_FUNCTION - FUN name:kt26531 visibility:public modality:FINAL <> () returnType:kotlin.Int flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='kt26531(): Int' - CALL 'invoke(): R' type=kotlin.Int origin=INVOKE - $this: CALL '() on T: () -> T' type=kotlin.Function0 origin=GET_PROPERTY + 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 <`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 29660a4ea1d..1eee28daa23 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testWithSubject(Any?): String' + RETURN type=kotlin.Nothing from='FUN name:testWithSubject visibility:public modality:FINAL <> (x:kotlin.Any?) returnType:kotlin.String flags:[]' BLOCK type=kotlin.String origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Any? flags:val - GET_VAR 'value-parameter x: Any?' type=kotlin.Any? origin=null + 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 WHEN type=kotlin.String origin=WHEN BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Any?' type=kotlin.Any? origin=null + 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: CONST Null type=kotlin.Nothing? value=null then: CONST String type=kotlin.String value="null" BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Any?' type=kotlin.Any? origin=null - arg1: GET_OBJECT 'A' type=A + 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 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 'tmp0_subject: Any?' type=kotlin.Any? origin=null + 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 then: CONST String type=kotlin.String value="String" BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCL + 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: 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 'tmp0_subject: Any?' type=kotlin.Any? origin=null + 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 then: CONST String type=kotlin.String value="!Number" BRANCH - if: CALL 'contains(T) on Iterable: Boolean' type=kotlin.Boolean origin=IN + 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 : kotlin.Number - $receiver: CALL 'setOf(): Set' type=kotlin.collections.Set origin=null + $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 : 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 'tmp0_subject: Any?' type=kotlin.Any? origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(Any?): String' + RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> (x:kotlin.Any?) returnType:kotlin.String flags:[]' WHEN type=kotlin.String origin=WHEN BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Any?' type=kotlin.Any? origin=null + 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: CONST Null type=kotlin.Nothing? value=null then: CONST String type=kotlin.String value="null" BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter x: Any?' type=kotlin.Any? origin=null - arg1: GET_OBJECT 'A' type=A + 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 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 x: Any?' type=kotlin.Any? origin=null + 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: 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 x: Any?' type=kotlin.Any? origin=null + 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 then: CONST String type=kotlin.String value="!Number" BRANCH - if: CALL 'contains(T) on Iterable: Boolean' type=kotlin.Boolean origin=IN + 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 : kotlin.Number - $receiver: CALL 'setOf(): Set' type=kotlin.collections.Set origin=null + $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 : 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 x: Any?' type=kotlin.Any? origin=null + 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 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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testComma(Int): String' + RETURN type=kotlin.Nothing from='FUN name:testComma visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String flags:[]' BLOCK type=kotlin.String origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:val - GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null + 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 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 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int origin=null + 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 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 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int 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 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' 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 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int 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 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' 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 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int 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 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' 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 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int origin=null + 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 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 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int 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 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' 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 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int 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 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' 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 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int origin=null + 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 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 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int 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 'VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:[val]' 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 ff8d56439dc..d3c2ede35f6 100644 --- a/compiler/testData/ir/irText/expressions/whenCoercedToUnit.txt +++ b/compiler/testData/ir/irText/expressions/whenCoercedToUnit.txt @@ -1,16 +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 flags:[] + VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[] BLOCK_BODY BLOCK type=kotlin.Unit origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int flags:val - GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null + 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 WHEN type=kotlin.Unit origin=WHEN BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int origin=null + 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 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 flags:[] 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 d80bf5f6cc7..020fe6fc89b 100644 --- a/compiler/testData/ir/irText/expressions/whenElse.txt +++ b/compiler/testData/ir/irText/expressions/whenElse.txt @@ -1,9 +1,8 @@ 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(): Int' + RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' WHEN type=kotlin.Int origin=WHEN BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Int type=kotlin.Int value=42 - diff --git a/compiler/testData/ir/irText/expressions/whenReturn.txt b/compiler/testData/ir/irText/expressions/whenReturn.txt index f665942cb24..17ce4433003 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 flags:[] + VALUE_PARAMETER name:grade index:0 type:kotlin.String flags:[] BLOCK_BODY BLOCK type=kotlin.Nothing origin=WHEN - VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.String flags:val - GET_VAR 'value-parameter grade: String' type=kotlin.String origin=null + 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 WHEN type=kotlin.Nothing origin=WHEN BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: String' type=kotlin.String origin=null + 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 arg1: CONST String type=kotlin.String value="A" - then: RETURN type=kotlin.Nothing from='toString(String): String' + then: RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="Excellent" BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: String' type=kotlin.String origin=null + 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 arg1: CONST String type=kotlin.String value="B" - then: RETURN type=kotlin.Nothing from='toString(String): String' + then: RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="Good" BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: String' type=kotlin.String origin=null + 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 arg1: CONST String type=kotlin.String value="C" - then: RETURN type=kotlin.Nothing from='toString(String): String' + then: RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="Mediocre" BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: String' type=kotlin.String origin=null + 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 arg1: CONST String type=kotlin.String value="D" - then: RETURN type=kotlin.Nothing from='toString(String): String' + then: RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="Fair" BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: RETURN type=kotlin.Nothing from='toString(String): String' + then: RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' CONST String type=kotlin.String value="Failure" - RETURN type=kotlin.Nothing from='toString(String): String' + RETURN type=kotlin.Nothing from='FUN name:toString visibility:public modality:FINAL <> (grade:kotlin.String) returnType:kotlin.String flags:[]' 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 b6325606c7d..cbf2bb78d39 100644 --- a/compiler/testData/ir/irText/expressions/whenWithSubjectVariable.txt +++ b/compiler/testData/ir/irText/expressions/whenWithSubjectVariable.txt @@ -1,54 +1,53 @@ 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(): Any' + RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[]' 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(): Int' + RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' BLOCK type=kotlin.Int origin=WHEN - VAR name:y type:kotlin.Any flags:val - CALL 'foo(): Any' type=kotlin.Any origin=null + 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 WHEN type=kotlin.Int origin=WHEN BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'y: Any' type=kotlin.Any origin=null + 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 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 'y: Any' type=kotlin.Any origin=null - then: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY + 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 $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 'y: Any' type=kotlin.Any origin=null + 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 BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCL + 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: 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 'y: Any' type=kotlin.Any origin=null + 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 then: CONST Int type=kotlin.Int value=2 BRANCH - if: CALL 'contains(Int): Boolean' type=kotlin.Boolean origin=IN - $this: CALL 'rangeTo(Int): IntRange' type=kotlin.ranges.IntRange origin=RANGE + 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 $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 'y: Any' type=kotlin.Any origin=null + 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 then: CONST Int type=kotlin.Int value=3 BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCL - arg0: CALL 'contains(Int): Boolean' type=kotlin.Boolean origin=NOT_IN - $this: CALL 'rangeTo(Int): IntRange' type=kotlin.ranges.IntRange origin=RANGE + 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 $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 'y: Any' type=kotlin.Any origin=null + 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 then: CONST Int type=kotlin.Int value=4 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Int type=kotlin.Int value=-1 - diff --git a/compiler/testData/ir/irText/expressions/whileDoWhile.txt b/compiler/testData/ir/irText/expressions/whileDoWhile.txt index 73ab8290872..d80cb7b06bb 100644 --- a/compiler/testData/ir/irText/expressions/whileDoWhile.txt +++ b/compiler/testData/ir/irText/expressions/whileDoWhile.txt @@ -1,92 +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 flags:[] BLOCK_BODY - VAR name:x type:kotlin.Int flags:var + VAR name:x type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 WHILE label=null origin=WHILE_LOOP - condition: CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'x: Int' 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 arg1: CONST Int type=kotlin.Int value=0 WHILE label=null origin=WHILE_LOOP - condition: CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'x: Int' 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 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 flags:[] superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:val - GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'x: Int' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp0: Int' type=kotlin.Int origin=null - GET_VAR 'tmp0: Int' type=kotlin.Int origin=null + 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 WHILE label=null origin=WHILE_LOOP - condition: CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'x: Int' 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 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 flags:[] superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:val - GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'x: Int' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp1: Int' type=kotlin.Int origin=null - GET_VAR 'tmp1: Int' type=kotlin.Int origin=null + 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 BLOCK type=kotlin.Unit origin=null DO_WHILE label=null origin=DO_WHILE_LOOP - condition: CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'x: Int' 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 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 flags:[] superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:val - GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'x: Int' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp2: Int' type=kotlin.Int origin=null - GET_VAR 'tmp2: Int' type=kotlin.Int origin=null - condition: CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'x: Int' type=kotlin.Int origin=null + 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 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 flags:[] superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:val - GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'x: Int' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp3: Int' type=kotlin.Int origin=null - GET_VAR 'tmp3: Int' type=kotlin.Int origin=null - condition: CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT - arg0: GET_VAR 'x: Int' type=kotlin.Int origin=null + 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 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 flags:[] BLOCK_BODY - VAR name:a type:kotlin.Any? flags:val + VAR name:a type:kotlin.Any? flags:[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 'a: Any?' type=kotlin.Any? origin=null + 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 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 'a: Any?' type=kotlin.Any? origin=null + 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 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 'a: Any?' type=kotlin.Any? origin=null - + 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 diff --git a/compiler/testData/ir/irText/lambdas/anonymousFunction.txt b/compiler/testData/ir/irText/lambdas/anonymousFunction.txt index 5ab45351d4d..e78c123e4e5 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:anonymous type:kotlin.Function0 visibility:public flags:[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 flags:[] BLOCK_BODY - CALL 'println(): Unit' type=kotlin.Unit origin=null - FUNCTION_REFERENCE '(): Unit' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): () -> Unit' - GET_FIELD 'anonymous: () -> Unit' type=kotlin.Function0 origin=null + 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 diff --git a/compiler/testData/ir/irText/lambdas/destructuringInLambda.txt b/compiler/testData/ir/irText/lambdas/destructuringInLambda.txt index 4bd567d7a84..9ffbf91d5e3 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter x: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'x: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@A: A' 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='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] EXPRESSION_BODY - GET_VAR 'value-parameter y: Int' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'y: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@A: A' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component1(): Int' - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' 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='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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='component2(): Int' - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' 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='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:[] EXPRESSION_BODY - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' type=A origin=null - VALUE_PARAMETER name:y index:1 type: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 + VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:[] EXPRESSION_BODY - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' type=A origin=null + 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 BLOCK_BODY - RETURN type=kotlin.Nothing from='copy(Int = ..., Int = ...): A' - CALL 'constructor A(Int, Int)' type=A origin=null - x: GET_VAR 'value-parameter x: Int = ...' type=kotlin.Int origin=null - y: GET_VAR 'value-parameter y: Int = ...' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.A flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='toString(): String' + RETURN type=kotlin.Nothing from='FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.String flags:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="A(" CONST String type=kotlin.String value="x=" - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' type=A origin=null + 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 CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="y=" - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' type=A origin=null + 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 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.A flags:[] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var + VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:[var] CONST Int type=kotlin.Int value=0 - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'hashCode(): Int' type=kotlin.Int origin=null - $this: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' type=A origin=null - SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - CALL 'plus(Int): Int' type=kotlin.Int origin=null - $this: CALL 'times(Int): Int' type=kotlin.Int origin=null - $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + 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 other: CONST Int type=kotlin.Int value=31 - other: CALL 'hashCode(): Int' type=kotlin.Int origin=null - $this: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' type=A origin=null - RETURN type=kotlin.Nothing from='hashCode(): Int' - GET_VAR 'tmp0_result: Int' 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 '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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:.A flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - arg0: GET_VAR 'this@A: A' type=A origin=null - arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 other: Any?' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:A flags: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 other: Any?' type=kotlin.Any? origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.A flags:[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 WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' type=A origin=null - arg1: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: A' type=A origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@A: A' type=A origin=null - arg1: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'tmp0_other_with_cast: A' type=A origin=null - then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + 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:[]' 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 visibility:public flags:static + 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] EXPRESSION_BODY - BLOCK type=kotlin.Function1 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: + 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:[] BLOCK_BODY - VAR name:y type:kotlin.Int flags:val - CALL 'component2(): Int' type=kotlin.Int origin=COMPONENT_N(index=2) - $this: GET_VAR 'value-parameter : A' type=A origin=DESTRUCTURING_DECLARATION - RETURN type=kotlin.Nothing from='(A): Int' - CALL 'plus(Int): Int' type=kotlin.Int origin=PLUS + 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 $this: CONST Int type=kotlin.Int value=42 - other: GET_VAR 'y: Int' type=kotlin.Int origin=null - FUNCTION_REFERENCE '(A): Int' type=kotlin.Function1 origin=LAMBDA - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function1 flags: - correspondingProperty: PROPERTY name:fn visibility:public modality:FINAL flags:var + 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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): (A) -> Int' - GET_FIELD 'fn: (A) -> Int' type=kotlin.Function1 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Function1) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:fn visibility:public modality:FINAL flags:var - VALUE_PARAMETER name: index:0 type:kotlin.Function1 flags: + 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:[] BLOCK_BODY - SET_FIELD 'fn: (A) -> Int' type=kotlin.Unit origin=null - value: GET_VAR 'value-parameter : (A) -> Int' type=kotlin.Function1 origin=null + 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 diff --git a/compiler/testData/ir/irText/lambdas/extensionLambda.txt b/compiler/testData/ir/irText/lambdas/extensionLambda.txt index 4981ec504e2..5dee768de52 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test1(): Int' - CALL 'run(T.() -> R) on T: R' type=kotlin.Int origin=null + 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 : kotlin.String : kotlin.Int $receiver: CONST String type=kotlin.String value="42" - block: BLOCK type=@[CALL 'constructor 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 flags: - $receiver: VALUE_PARAMETER name: type:kotlin.String flags: + 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_BODY - RETURN type=kotlin.Nothing from='() on String: Int' - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'this@: String' type=kotlin.String origin=null - FUNCTION_REFERENCE '() on String: Int' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=LAMBDA + 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 diff --git a/compiler/testData/ir/irText/lambdas/justLambda.txt b/compiler/testData/ir/irText/lambdas/justLambda.txt index 910ebb219e6..166fe4462d0 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0 visibility:public flags:[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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' + RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=42 - FUNCTION_REFERENCE '(): Int' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): () -> Int' - GET_FIELD 'test1: () -> Int' 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='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] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - FUNCTION_REFERENCE '(): Unit' 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='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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): () -> Unit' - GET_FIELD 'test2: () -> Unit' type=kotlin.Function0 origin=null + 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 diff --git a/compiler/testData/ir/irText/lambdas/localFunction.txt b/compiler/testData/ir/irText/lambdas/localFunction.txt index 320ba590912..41c41bbb1ea 100644 --- a/compiler/testData/ir/irText/lambdas/localFunction.txt +++ b/compiler/testData/ir/irText/lambdas/localFunction.txt @@ -1,18 +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 flags:[] BLOCK_BODY - VAR name:x type:kotlin.Int flags:var + VAR name:x type:kotlin.Int flags:[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 flags:[] 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 flags:[] superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:val - GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'x: Int' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp0: Int' type=kotlin.Int origin=null - GET_VAR 'tmp0: Int' type=kotlin.Int origin=null - CALL 'local(): Unit' type=kotlin.Unit origin=null - + 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 diff --git a/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.txt b/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.txt index 8fdb7504689..d8d74589f19 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A flags:[] + CONSTRUCTOR visibility:private <> () returnType:.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='B' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on A: B' - GET_OBJECT 'B' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='invoke() on B: Int' + RETURN type=kotlin.Nothing from='FUN name:invoke visibility:public modality:OPEN <> ($this:.IInvoke, $receiver:.B) returnType:kotlin.Int flags:[]' 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 'with(T, T.() -> R): R' type=kotlin.Int origin=null - : A + 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 + : .A : kotlin.Int - receiver: GET_OBJECT 'A' type=A - block: BLOCK type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on A: Int' - CALL 'with(T, T.() -> R): R' type=kotlin.Int origin=null - : IFoo + 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 + : .IFoo : kotlin.Int - receiver: GET_VAR 'value-parameter fooImpl: IFoo' type=IFoo origin=null - block: BLOCK type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on IFoo: Int' - CALL 'with(T, T.() -> R): R' type=kotlin.Int origin=null - : IInvoke + 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 + : .IInvoke : kotlin.Int - receiver: GET_VAR 'value-parameter invokeImpl: IInvoke' type=IInvoke origin=null - block: BLOCK type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on IInvoke: Int' - CALL 'invoke() on B: Int' type=kotlin.Int origin=INVOKE - $this: GET_VAR 'this@: IInvoke' type=IInvoke origin=null - $receiver: CALL '() on A: B' type=B origin=GET_PROPERTY - $this: GET_VAR 'this@: IFoo' type=IFoo origin=null - $receiver: GET_VAR 'this@: A' type=A origin=null - FUNCTION_REFERENCE '() on IInvoke: Int' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=LAMBDA - FUNCTION_REFERENCE '() on IFoo: Int' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=LAMBDA - FUNCTION_REFERENCE '() on A: Int' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1 origin=LAMBDA + 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 diff --git a/compiler/testData/ir/irText/lambdas/nonLocalReturn.txt b/compiler/testData/ir/irText/lambdas/nonLocalReturn.txt index b2c254303a5..aad6e277441 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 flags:[] BLOCK_BODY - CALL 'run(() -> R): R' type=kotlin.Nothing origin=null + 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 : 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test0(): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - FUNCTION_REFERENCE '(): Nothing' type=kotlin.Function0 origin=LAMBDA - FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + 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:[] BLOCK_BODY - CALL 'run(() -> R): R' type=kotlin.Unit origin=null + 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 : 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - FUNCTION_REFERENCE '(): Unit' type=kotlin.Function0 origin=LAMBDA - FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + 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:[] BLOCK_BODY - CALL 'run(() -> R): R' type=kotlin.Unit origin=null + 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 : 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - FUNCTION_REFERENCE '(): Unit' type=kotlin.Function0 origin=LAMBDA - FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + 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:[] BLOCK_BODY - CALL 'run(() -> R): R' type=kotlin.Unit origin=null + 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 : 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Unit' - CALL 'run(() -> R): R' type=kotlin.Nothing origin=null + 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 : 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - FUNCTION_REFERENCE '(): Nothing' type=kotlin.Function0 origin=LAMBDA - FUNCTION_REFERENCE '(): Unit' 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='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:[] BLOCK_BODY - CALL 'forEach((T) -> Unit) on Iterable: Unit' type=kotlin.Unit origin=null + 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 : kotlin.Int - $receiver: GET_VAR 'value-parameter ints: List' type=kotlin.collections.List origin=null + $receiver: GET_VAR 'VALUE_PARAMETER name:ints index:0 type:kotlin.collections.List flags:[]' 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 flags:[] + VALUE_PARAMETER name:it index:0 type:kotlin.Int flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter it: Int' type=kotlin.Int origin=null + 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 arg1: CONST Int type=kotlin.Int value=0 - then: RETURN type=kotlin.Nothing from='(Int): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - RETURN type=kotlin.Nothing from='(Int): Unit' - CALL 'print(Int): Unit' type=kotlin.Unit origin=null - message: GET_VAR 'value-parameter it: Int' type=kotlin.Int origin=null - FUNCTION_REFERENCE '(Int): Unit' 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='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:[] BLOCK_BODY - CALL 'forEach((T) -> Unit) on Iterable: Unit' type=kotlin.Unit origin=null + 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 : kotlin.Int - $receiver: GET_VAR 'value-parameter ints: List' type=kotlin.collections.List origin=null + $receiver: GET_VAR 'VALUE_PARAMETER name:ints index:0 type:kotlin.collections.List flags:[]' 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 flags:[] + VALUE_PARAMETER name:it index:0 type:kotlin.Int flags:[] BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'value-parameter it: Int' type=kotlin.Int origin=null + 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 arg1: CONST Int type=kotlin.Int value=0 - then: RETURN type=kotlin.Nothing from='(Int): Unit' - GET_OBJECT 'Unit' type=kotlin.Unit - RETURN type=kotlin.Nothing from='(Int): Unit' - CALL 'print(Int): Unit' type=kotlin.Unit origin=null - message: GET_VAR 'value-parameter it: Int' type=kotlin.Int origin=null - FUNCTION_REFERENCE '(Int): Unit' type=kotlin.Function1 origin=LAMBDA + 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 diff --git a/compiler/testData/ir/irText/lambdas/samAdapter.txt b/compiler/testData/ir/irText/lambdas/samAdapter.txt index 32e3fb194c8..6658becddf8 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 flags:[] BLOCK_BODY - VAR name:hello type:java.lang.Runnable flags:val + VAR name:hello type:java.lang.Runnable flags:[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 flags:[] 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Unit' - CALL 'println(Any?): Unit' type=kotlin.Unit origin=null + 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 message: CONST String type=kotlin.String value="Hello, world!" - FUNCTION_REFERENCE '(): Unit' type=kotlin.Function0 origin=LAMBDA - CALL 'run(): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'hello: Runnable' type=java.lang.Runnable origin=null + 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 diff --git a/compiler/testData/ir/irText/regressions/coercionInLoop.txt b/compiler/testData/ir/irText/regressions/coercionInLoop.txt index 4b6294de76a..4b169a2114d 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 flags:[] BLOCK_BODY - VAR name:a type:kotlin.DoubleArray flags:val - CALL 'constructor DoubleArray(Int)' type=kotlin.DoubleArray origin=null + 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 size: CONST Int type=kotlin.Int value=5 - VAR name:x type:kotlin.collections.DoubleIterator flags:val - CALL 'iterator(): DoubleIterator' type=kotlin.collections.DoubleIterator origin=null - $this: GET_VAR 'a: DoubleArray' type=kotlin.DoubleArray origin=null - VAR name:i type:kotlin.Int flags:var + 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] CONST Int type=kotlin.Int value=0 WHILE label=null origin=WHILE_LOOP - condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'x: DoubleIterator' type=kotlin.collections.DoubleIterator origin=null + 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 body: BLOCK type=kotlin.Unit origin=null WHEN type=kotlin.Unit origin=IF BRANCH - if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EXCLEQ - arg0: CALL 'get(Int): Double' type=kotlin.Double origin=GET_ARRAY_ELEMENT - $this: GET_VAR 'a: DoubleArray' type=kotlin.DoubleArray origin=null - index: GET_VAR 'i: Int' type=kotlin.Int origin=null - arg1: CALL 'next(): Double' type=kotlin.Double origin=null - $this: GET_VAR 'x: DoubleIterator' type=kotlin.collections.DoubleIterator origin=null - then: RETURN type=kotlin.Nothing from='box(): String' + 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:[]' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Fail " - GET_VAR 'i: Int' type=kotlin.Int origin=null + GET_VAR 'VAR name:i type:kotlin.Int flags:[var]' 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 flags:[] superTypes:[kotlin.Any] BLOCK type=kotlin.Int origin=POSTFIX_INCR - VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:val - GET_VAR 'i: Int' type=kotlin.Int origin=POSTFIX_INCR - SET_VAR 'i: Int' type=kotlin.Unit origin=POSTFIX_INCR - CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR - $this: GET_VAR 'tmp0: Int' type=kotlin.Int origin=null - GET_VAR 'tmp0: Int' type=kotlin.Int origin=null - RETURN type=kotlin.Nothing from='box(): String' + 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:[]' 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 6c0e83900c9..29b6c0102d7 100644 --- a/compiler/testData/ir/irText/regressions/integerCoercionToT.txt +++ b/compiler/testData/ir/irText/regressions/integerCoercionToT.txt @@ -1,97 +1,97 @@ 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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:T flags:inline - TYPE_PARAMETER name:T index:0 variance: superTypes:[CPointed] - $receiver: VALUE_PARAMETER name: type:CPointed flags: + 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] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.CPointed] + $receiver: VALUE_PARAMETER name: type:.CPointed flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='reinterpret() on CPointed: T' - CALL 'TODO(): Nothing' type=kotlin.Nothing origin=null - CLASS CLASS name:CInt32VarX modality:FINAL visibility:public flags: superTypes:[CPointed] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:CInt32VarX flags: + 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:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:CInt32VarX flags:primary + CONSTRUCTOR visibility:public <> () returnType:.CInt32VarX<.CInt32VarX.T> flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='CInt32VarX' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] TYPEALIAS typealias CInt32Var = CInt32VarX type=CInt32VarX - PROPERTY name:value visibility:public modality:FINAL flags:var - FUN name: visibility:public modality:FINAL ($receiver:CInt32VarX) returnType:T_INT flags: - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:var + 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] TYPE_PARAMETER name:T_INT index:0 variance: superTypes:[kotlin.Int] - $receiver: VALUE_PARAMETER name: type:CInt32VarX flags: + $receiver: VALUE_PARAMETER name: type:.CInt32VarX<..T_INT> flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on CInt32VarX: T_INT' - CALL 'TODO(): Nothing' type=kotlin.Nothing origin=null - FUN name: visibility:public modality:FINAL ($receiver:CInt32VarX, value:T_INT) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:var + 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] TYPE_PARAMETER name:T_INT index:0 variance: superTypes:[kotlin.Int] - $receiver: VALUE_PARAMETER name: type:CInt32VarX flags: - VALUE_PARAMETER name:value index:0 type:T_INT flags: + $receiver: VALUE_PARAMETER name: type:.CInt32VarX<..T_INT> flags:[] + VALUE_PARAMETER name:value index:0 type:..T_INT flags:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='IdType' - 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 '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] EXPRESSION_BODY - GET_VAR 'value-parameter value: Int' 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_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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'value: Int' type=kotlin.Int origin=null - receiver: GET_VAR 'this@IdType: IdType' 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] BLOCK_BODY - CALL '(T_INT) on CInt32VarX: Unit' type=kotlin.Unit origin=EQ + CALL 'FUN name: visibility:public modality:FINAL ($receiver:.CInt32VarX<..T_INT>, value:..T_INT) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=EQ <`0>: kotlin.Int - $receiver: GET_VAR 'value-parameter cv: CInt32Var /* = CInt32VarX */' type=CInt32VarX origin=null - value: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_VAR 'value-parameter value: IdType' type=IdType origin=null + $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 diff --git a/compiler/testData/ir/irText/regressions/kt24114.txt b/compiler/testData/ir/irText/regressions/kt24114.txt index 222983069e7..b4e7e52dd99 100644 --- a/compiler/testData/ir/irText/regressions/kt24114.txt +++ b/compiler/testData/ir/irText/regressions/kt24114.txt @@ -1,65 +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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='one(): Int' + RETURN type=kotlin.Nothing from='FUN name:one visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='two(): Int' + RETURN type=kotlin.Nothing from='FUN name:two visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 flags:[] 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 'one(): Int' type=kotlin.Int origin=null + 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 WHEN type=kotlin.Nothing origin=WHEN BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int origin=null + 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 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 'two(): Int' type=kotlin.Int origin=null + 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 WHEN type=kotlin.Nothing origin=WHEN BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp1_subject: Int' type=kotlin.Int origin=null + 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 arg1: CONST Int type=kotlin.Int value=2 - then: RETURN type=kotlin.Nothing from='test1(): Int' + then: RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=2 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: RETURN type=kotlin.Nothing from='test1(): Int' + then: RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 flags:[] 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 'one(): Int' type=kotlin.Int origin=null + 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 WHEN type=kotlin.Nothing origin=WHEN BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int origin=null + 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 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 'two(): Int' type=kotlin.Int origin=null + 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 WHEN type=kotlin.Nothing origin=WHEN BRANCH - if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ - arg0: GET_VAR 'tmp1_subject: Int' type=kotlin.Int origin=null + 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 arg1: CONST Int type=kotlin.Int value=2 - then: RETURN type=kotlin.Nothing from='test2(): Int' + then: RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' CONST Int type=kotlin.Int value=2 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: RETURN type=kotlin.Nothing from='test2(): Int' + then: RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' 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 7b67e6da311..a536ca79b5f 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 flags: + FUN name:foo visibility:public modality:FINAL () returnType:kotlin.Function1<.foo.X, .foo.Y> flags:[] 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='foo(): (X) -> Y' - CALL 'TODO(): Nothing' 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 flags: + 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:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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:T, y:R, f:kotlin.Function1) returnType:Inv2 flags: + 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:[] 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:T flags: - VALUE_PARAMETER name:y index:1 type:R flags: - VALUE_PARAMETER name:f index:2 type:kotlin.Function1 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='check(T, R, (T) -> R): Inv2' - CALL 'TODO(): Nothing' type=kotlin.Nothing origin=null - FUN name:test visibility:public modality:FINAL <> () returnType:Inv2 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(): Inv2' - CALL 'check(T, R, (T) -> R): Inv2' type=Inv2 origin=null + 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 : kotlin.String : kotlin.Int x: CONST String type=kotlin.String value="" y: CONST Int type=kotlin.Int value=1 - f: CALL 'foo(): (X) -> Y' type=kotlin.Function1 origin=null + f: CALL 'FUN name:foo visibility:public modality:FINAL () returnType:kotlin.Function1<.foo.X, .foo.Y> flags:[]' 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 flags:[] BLOCK_BODY - VAR name:x type:Inv2 flags:val - CALL 'test(): Inv2' type=Inv2 origin=null - RETURN type=kotlin.Nothing from='box(): String' + 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:[]' 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 3b0e287fce9..b65cc001952 100644 --- a/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.txt +++ b/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.txt @@ -1,45 +1,45 @@ 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 flags: + CLASS CLASS name:A modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A<.A.Q> flags:[] TYPE_PARAMETER name:Q index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (q:Q) returnType:A flags:primary - VALUE_PARAMETER name:q index:0 type:Q flags: + CONSTRUCTOR visibility:public <> (q:.A.Q) returnType:.A<.A.Q> flags:[primary] + VALUE_PARAMETER name:q index:0 type:.A.Q flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - PROPERTY name:q visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:q type:Q visibility:public flags:final + 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] EXPRESSION_BODY - GET_VAR 'value-parameter q: Q' type=Q origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:A) returnType:Q flags: - correspondingProperty: PROPERTY name:q visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:A flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Q' - GET_FIELD 'q: Q' type=Q 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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] TYPEALIAS typealias B = A type=A TYPEALIAS typealias B2 = A> type=A> - FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[] BLOCK_BODY - VAR name:b type:A flags:val - CALL 'constructor A(Q)' type=A origin=null + VAR name:b type:.A flags:[val] + CALL 'CONSTRUCTOR visibility:public <> (q:.A.Q) returnType:.A<.A.Q> flags:[primary]' type=.A origin=null : kotlin.Int q: CONST Int type=kotlin.Int value=2 - VAR name:b2 type:A> flags:val - CALL 'constructor A(Q)' type=A> origin=null - : A - q: GET_VAR 'b: B /* = A */' type=A origin=null + 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 + : .A + q: GET_VAR 'VAR name:b type:.A flags:[val]' type=.A origin=null diff --git a/compiler/testData/ir/irText/singletons/companion.txt b/compiler/testData/ir/irText/singletons/companion.txt index 7102873b4e2..41473dd4fc1 100644 --- a/compiler/testData/ir/irText/singletons/companion.txt +++ b/compiler/testData/ir/irText/singletons/companion.txt @@ -1,48 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Z flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Z' - FUN name:test2 visibility:public modality:FINAL <> ($this:Z) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:Z flags: + 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:[] BLOCK_BODY - CALL 'test(): Unit' type=kotlin.Unit origin=null - $this: GET_OBJECT 'companion object of Z' 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 '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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='companion object of Z' - 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 '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:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/singletons/enumEntry.txt b/compiler/testData/ir/irText/singletons/enumEntry.txt index 8304a262eda..27b4e1d102e 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] - $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 flags:[] superTypes:[kotlin.Enum<.Z>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z flags:[] + CONSTRUCTOR visibility:private <> () returnType:.Z flags:[primary] BLOCK_BODY - ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - >: Z - INSTANCE_INITIALIZER_CALL classDescriptor='Z' + ENUM_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (name:kotlin.String, ordinal:kotlin.Int) returnType:kotlin.Enum flags:[primary]' + >: .Z + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Z modality:OPEN visibility:public flags:[] superTypes:[kotlin.Enum<.Z>]' ENUM_ENTRY name:ENTRY - init: ENUM_CONSTRUCTOR_CALL 'constructor ENTRY()' - 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 '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] 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 Z()' - INSTANCE_INITIALIZER_CALL classDescriptor='ENTRY' - 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 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:[] 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 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:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - 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 '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:[] BLOCK_BODY - CALL 'test(): Unit' type=kotlin.Unit origin=null - $this: GET_ENUM 'ENTRY' type=Z.ENTRY - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + CALL 'FUN name:test visibility:public modality:FINAL <> ($this:.Z.ENTRY) returnType:kotlin.Unit flags:[]' 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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) returnType:kotlin.Any flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Z) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Z) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:Z flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, 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 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:[] overridden: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) 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 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] overridden: - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] overridden: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: + 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:[] 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 flags: - FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, 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? 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:E) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER name: type:kotlin.Enum flags: - VALUE_PARAMETER name:other index:0 type:Z flags: - FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags: - VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.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 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:[] 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 flags: - PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.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 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] 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 flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: + 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:[] 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 flags: - FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + 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:[] 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 flags:[] + VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] SYNTHETIC_BODY kind=ENUM_VALUEOF diff --git a/compiler/testData/ir/irText/singletons/object.txt b/compiler/testData/ir/irText/singletons/object.txt index fdd16803fb7..c706fcc4767 100644 --- a/compiler/testData/ir/irText/singletons/object.txt +++ b/compiler/testData/ir/irText/singletons/object.txt @@ -1,48 +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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z flags:[] + CONSTRUCTOR visibility:private <> () returnType:.Z flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Z' - FUN name:test visibility:public modality:FINAL <> ($this:Z) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:Z flags: + 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:[] 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 flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z.A flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Z.A flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='A' - 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 '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:[] BLOCK_BODY - CALL 'test(): Unit' type=kotlin.Unit origin=null - $this: GET_OBJECT 'Z' type=Z - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/stubs/builtinMap.txt b/compiler/testData/ir/irText/stubs/builtinMap.txt index e9819ac88d9..b3d0ce676ac 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, pair:kotlin.Pair) returnType:kotlin.collections.Map flags: + 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:[] 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 flags: - VALUE_PARAMETER name:pair index:0 type:kotlin.Pair flags: + $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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='plus(Pair) on Map: Map' - WHEN type=kotlin.collections.Map origin=IF + 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 BRANCH - if: CALL 'isEmpty(): Boolean' type=kotlin.Boolean origin=null - $this: GET_VAR 'this@plus: Map' type=kotlin.collections.Map origin=null - then: CALL 'mapOf(Pair): Map' type=kotlin.collections.Map origin=null - : K1 - : V1 - pair: GET_VAR 'value-parameter pair: Pair' type=kotlin.Pair origin=null + 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 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'apply(T.() -> Unit) on T: T' type=java.util.LinkedHashMap origin=null - : java.util.LinkedHashMap - $receiver: CALL 'constructor LinkedHashMap((MutableMap..Map?))' type=java.util.LinkedHashMap origin=null - : K1? - : V1? - p0: GET_VAR 'this@plus: Map' type=kotlin.collections.Map origin=null - block: BLOCK type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1, kotlin.Unit> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:java.util.LinkedHashMap) returnType:kotlin.Unit flags: - $receiver: VALUE_PARAMETER name: type:java.util.LinkedHashMap flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on LinkedHashMap /* = LinkedHashMap */: Unit' + 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:[]' 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 'put(K, V): V?' type=V1? origin=null - $this: GET_VAR 'this@: LinkedHashMap<(K1..K1?), (V1..V1?)>' type=java.util.LinkedHashMap origin=null - key: CALL '(): A' type=K1 origin=GET_PROPERTY - $this: GET_VAR 'value-parameter pair: Pair' type=kotlin.Pair origin=null - value: CALL '(): B' type=V1 origin=GET_PROPERTY - $this: GET_VAR 'value-parameter pair: Pair' type=kotlin.Pair origin=null - FUNCTION_REFERENCE '() on LinkedHashMap /* = LinkedHashMap */: Unit' type=@[CALL 'constructor ExtensionFunctionType()' type=kotlin.ExtensionFunctionType origin=null] kotlin.Function1, kotlin.Unit> origin=LAMBDA + 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 diff --git a/compiler/testData/ir/irText/stubs/constFromBuiltins.txt b/compiler/testData/ir/irText/stubs/constFromBuiltins.txt index 4aa07a259a7..5f49d88af9a 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:public flags:[final,static] EXPRESSION_BODY - CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - $this: GET_OBJECT 'companion object of Int' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test: Int' type=kotlin.Int origin=null + 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 diff --git a/compiler/testData/ir/irText/stubs/constFromBuiltins__kotlin.Int.txt b/compiler/testData/ir/irText/stubs/constFromBuiltins__kotlin.Int.txt index 08414ae9b30..e0cab98e05e 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:[kotlin.Number; kotlin.Comparable; java.io.Serializable] - $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:kotlin.Byte) 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.Byte flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Double) 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.Double flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Float) 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.Float 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 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:ABSTRACT <> ($this:kotlin.Comparable, other:T) 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:kotlin.Long) 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.Long flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Short) 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.Short 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:kotlin.Byte) 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.Byte flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Double) returnType:kotlin.Double 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.Double flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Float) returnType:kotlin.Float 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.Float 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:kotlin.Long) returnType:kotlin.Long 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.Long flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Short) 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.Short 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: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:[] 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 FAKE_OVERRIDE name: type:kotlin.Any flags: - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: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:, 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:[] 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 FAKE_OVERRIDE name: type:kotlin.Any 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:kotlin.Byte) 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.Byte flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Double) returnType:kotlin.Double 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.Double flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Float) returnType:kotlin.Float 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.Float 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:kotlin.Long) returnType:kotlin.Long 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.Long flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Short) 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.Short flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Byte) 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.Byte flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Double) returnType:kotlin.Double 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.Double flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Float) returnType:kotlin.Float 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.Float 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:kotlin.Long) returnType:kotlin.Long 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.Long flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:mod visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Short) 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.Short 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:kotlin.Byte) 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.Byte flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Double) returnType:kotlin.Double 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.Double flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Float) returnType:kotlin.Float 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.Float 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:kotlin.Long) returnType:kotlin.Long 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.Long flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Short) 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.Short flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Byte) returnType:kotlin.ranges.IntRange 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.Byte flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.ranges.IntRange 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:kotlin.Long) returnType:kotlin.ranges.LongRange 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.Long flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Short) returnType:kotlin.ranges.IntRange 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.Short flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Byte) 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.Byte flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Double) returnType:kotlin.Double 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.Double flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Float) returnType:kotlin.Float 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.Float 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:kotlin.Long) returnType:kotlin.Long 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.Long flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Short) 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.Short 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:kotlin.Byte) 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.Byte flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Double) returnType:kotlin.Double 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.Double flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Float) returnType:kotlin.Float 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.Float 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:kotlin.Long) returnType:kotlin.Long 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.Long flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Short) 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.Short flags: - FUN IR_EXTERNAL_DECLARATION_STUB name:toByte visibility:public modality:OPEN <> ($this:kotlin.Int) returnType:kotlin.Byte flags: + 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte 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:kotlin.Char flags: + 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toChar visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Char 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:kotlin.Double flags: + 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Double 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:kotlin.Float flags: + 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float 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: 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) 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:kotlin.Long flags: + 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long 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:kotlin.Short flags: + 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short flags: - $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:kotlin.Int flags: - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: + 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:[] 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 FAKE_OVERRIDE name: type:kotlin.Any 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:[kotlin.Any] - $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: 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] EXPRESSION_BODY - CONST Int type=kotlin.Int 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 + 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] EXPRESSION_BODY - CONST Int type=kotlin.Int 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 + 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] EXPRESSION_BODY - CONST Int type=kotlin.Int 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 + 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] EXPRESSION_BODY - CONST Int type=kotlin.Int 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:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 FAKE_OVERRIDE name: type:kotlin.Any flags: - VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: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:, 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:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: - $this: VALUE_PARAMETER FAKE_OVERRIDE 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:) returnType:kotlin.Int flags:[] + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type: flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:) returnType: flags:[] overridden: - FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: - $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:kotlin.Any flags: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:) returnType: flags:[] + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type: flags:[] diff --git a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m1.txt b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m1.txt index b005d85ca0f..904c37773da 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 flags: + CLASS CLASS name:Base modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base<.Base.T> flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:T) returnType:Base flags:primary - VALUE_PARAMETER name:x index:0 type:T flags: + CONSTRUCTOR visibility:public <> (x:.Base.T) returnType:.Base<.Base.T> flags:[primary] + VALUE_PARAMETER name:x index:0 type:.Base.T flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='Base' - PROPERTY name:x visibility:public modality:FINAL flags:val - FIELD PROPERTY_BACKING_FIELD name:x type:T visibility:public flags:final + 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] EXPRESSION_BODY - GET_VAR 'value-parameter x: T' type=T origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Base) returnType:T flags: - correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:val - $this: VALUE_PARAMETER name: type:Base flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): T' - GET_FIELD 'x: T' type=T origin=null - receiver: GET_VAR 'this@Base: Base' type=Base origin=null - FUN name:foo visibility:public modality:ABSTRACT ($this:Base, y:Y) returnType:T flags: + 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:[] TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:Base flags: - VALUE_PARAMETER name:y index:0 type:Y flags: - PROPERTY name:bar visibility:public modality:ABSTRACT flags:var - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:Base) returnType:T flags: - correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT flags:var - $this: VALUE_PARAMETER name: type:Base flags: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:Base, :T) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT flags:var - $this: VALUE_PARAMETER name: type:Base flags: - VALUE_PARAMETER name: index:0 type:T flags: - PROPERTY name:exn visibility:public modality:ABSTRACT flags:var - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:Base, $receiver:Z) returnType:T flags: - correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT flags:var + $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] TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:Base flags: - $receiver: VALUE_PARAMETER name: type:Z flags: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:Base, $receiver:Z, :T) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT flags:var + $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] TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:Base flags: - $receiver: VALUE_PARAMETER name: type:Z flags: - VALUE_PARAMETER name: index:0 type: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.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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m2.txt b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m2.txt index 7693b07562f..9e1188ad6ba 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] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Derived1 flags: + CLASS CLASS name:Derived1 modality:FINAL visibility:public flags:[] superTypes:[.Base<.Derived1.T>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived1<.Derived1.T> flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:T) returnType:Derived1 flags:primary - VALUE_PARAMETER name:x index:0 type:T flags: + CONSTRUCTOR visibility:public <> (x:.Derived1.T) returnType:.Derived1<.Derived1.T> flags:[primary] + VALUE_PARAMETER name:x index:0 type:.Derived1.T flags:[] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Base(T)' - : T - x: GET_VAR 'value-parameter x: T' type=T origin=null - INSTANCE_INITIALIZER_CALL classDescriptor='Derived1' - FUN name:foo visibility:public modality:OPEN ($this:Derived1, y:Y) returnType:T flags: + 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:[] overridden: - FUN name:foo visibility:public modality:ABSTRACT ($this:Base, y:Y) returnType:T flags: + FUN name:foo visibility:public modality:ABSTRACT ($this:.Base<.Base.T>, y:.Base.foo.Y) returnType:.Base.T flags:[] TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:Derived1 flags: - VALUE_PARAMETER name:y index:0 type:Y flags: + $this: VALUE_PARAMETER name: type:.Derived1<.Derived1.T> flags:[] + VALUE_PARAMETER name:y index:0 type:.Derived1.foo.Y flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(Y): T' - CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Derived1: Derived1' type=Derived1 origin=null - PROPERTY name:bar visibility:public modality:OPEN flags:var - FIELD PROPERTY_BACKING_FIELD name:bar type:T visibility:public flags: + 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:[] EXPRESSION_BODY - GET_VAR 'value-parameter x: T' type=T origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:Derived1) returnType:T flags: - correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN flags:var + 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] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:Base) returnType:T flags: - $this: VALUE_PARAMETER name: type:Derived1 flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): T' - GET_FIELD 'bar: T' type=T origin=null - receiver: GET_VAR 'this@Derived1: Derived1' type=Derived1 origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:Derived1, :T) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN flags:var + 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] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:Base, :T) returnType:kotlin.Unit flags: - $this: VALUE_PARAMETER name: type:Derived1 flags: - VALUE_PARAMETER name: index:0 type:T flags: + 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:[] BLOCK_BODY - SET_FIELD 'bar: T' type=kotlin.Unit origin=null - receiver: GET_VAR 'this@Derived1: Derived1' type=Derived1 origin=null - value: GET_VAR 'value-parameter : T' type=T origin=null - PROPERTY name:exn visibility:public modality:OPEN flags:var - FUN name: visibility:public modality:OPEN ($this:Derived1, $receiver:Z) returnType:T flags: - correspondingProperty: PROPERTY name:exn visibility:public modality:OPEN flags:var + 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] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:Base, $receiver:Z) returnType:T flags: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.Base<.Base.T>, $receiver:.Base..Z) returnType:.Base.T flags:[] TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:Derived1 flags: - $receiver: VALUE_PARAMETER name: type:Z flags: + $this: VALUE_PARAMETER name: type:.Derived1<.Derived1.T> flags:[] + $receiver: VALUE_PARAMETER name: type:.Derived1..Z flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on Z: T' - CALL '(): T' type=T origin=GET_PROPERTY - $this: GET_VAR 'this@Derived1: Derived1' type=Derived1 origin=null - FUN name: visibility:public modality:OPEN ($this:Derived1, $receiver:Z, value:T) returnType:kotlin.Unit flags: - correspondingProperty: PROPERTY name:exn visibility:public modality:OPEN flags:var + 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] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:Base, $receiver:Z, :T) returnType:kotlin.Unit flags: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.Base<.Base.T>, $receiver:.Base..Z, :.Base.T) returnType:kotlin.Unit flags:[] TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] - $this: VALUE_PARAMETER name: type:Derived1 flags: - $receiver: VALUE_PARAMETER name: type:Z flags: - VALUE_PARAMETER name:value index:0 type:T flags: + $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:[] BLOCK_BODY - PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:val - FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:Base) returnType:T flags: - correspondingProperty: PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL flags:val + 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] overridden: - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Base) returnType:T 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<.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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/stubs/javaEnum.txt b/compiler/testData/ir/irText/stubs/javaEnum.txt index b765c5441a7..d467a567f13 100644 --- a/compiler/testData/ir/irText/stubs/javaEnum.txt +++ b/compiler/testData/ir/irText/stubs/javaEnum.txt @@ -1,11 +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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test type:.JEnum visibility:public flags:[final,static] EXPRESSION_BODY - GET_ENUM '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 + 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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): JEnum' - GET_FIELD 'test: JEnum' type=JEnum origin=null - + 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 diff --git a/compiler/testData/ir/irText/stubs/javaInnerClass.txt b/compiler/testData/ir/irText/stubs/javaInnerClass.txt index 9770130fb51..53890d7b5bc 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 flags:[] superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 flags:[] + CONSTRUCTOR visibility:public <> () returnType:.Test1 flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor J()' - INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - 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 '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] EXPRESSION_BODY - CALL 'constructor JInner()' type=J.JInner origin=null - $this: GET_VAR 'this@Test1: Test1' 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 '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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): J.JInner' - GET_FIELD 'test: J.JInner' type=J.JInner origin=null - receiver: GET_VAR 'this@Test1: Test1' 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='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:[] 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 flags:[] + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] diff --git a/compiler/testData/ir/irText/stubs/javaMethod.txt b/compiler/testData/ir/irText/stubs/javaMethod.txt index 0c69bfa3f02..4af8411d586 100644 --- a/compiler/testData/ir/irText/stubs/javaMethod.txt +++ b/compiler/testData/ir/irText/stubs/javaMethod.txt @@ -1,8 +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 flags:[] + VALUE_PARAMETER name:j index:0 type:.J flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(J): Unit' - CALL 'bar(): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'value-parameter j: J' type=J origin=null - + 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 diff --git a/compiler/testData/ir/irText/stubs/javaNestedClass.txt b/compiler/testData/ir/irText/stubs/javaNestedClass.txt index 5e13f48ee8a..9d6486425c6 100644 --- a/compiler/testData/ir/irText/stubs/javaNestedClass.txt +++ b/compiler/testData/ir/irText/stubs/javaNestedClass.txt @@ -1,8 +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 flags:[] + VALUE_PARAMETER name:jj index:0 type:.J.JJ flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(J.JJ): Unit' - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'value-parameter jj: J.JJ' type=J.JJ origin=null - + 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 diff --git a/compiler/testData/ir/irText/stubs/javaStaticMethod.txt b/compiler/testData/ir/irText/stubs/javaStaticMethod.txt index 3c4c6d4778e..7b1ba12f9bc 100644 --- a/compiler/testData/ir/irText/stubs/javaStaticMethod.txt +++ b/compiler/testData/ir/irText/stubs/javaStaticMethod.txt @@ -1,6 +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 flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(): Unit' - CALL 'bar(): Unit' type=kotlin.Unit origin=null - + 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 diff --git a/compiler/testData/ir/irText/stubs/javaSyntheticProperty.txt b/compiler/testData/ir/irText/stubs/javaSyntheticProperty.txt index 3a4730b5e53..1f331fe0ad7 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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.String? visibility:public flags:[final,static] EXPRESSION_BODY - CALL 'getFoo(): String!' type=kotlin.String? origin=GET_PROPERTY - $this: CALL 'constructor J()' 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 '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] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): String!' - GET_FIELD 'test: String!' type=kotlin.String? origin=null + 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 diff --git a/compiler/testData/ir/irText/stubs/jdkClassSyntheticProperty.txt b/compiler/testData/ir/irText/stubs/jdkClassSyntheticProperty.txt index c5140c68af2..e5ed0a95be8 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='() on Class<*>: Array<(out) Field!>!' - CALL 'getDeclaredFields(): Array<(out) Field!>!' type=kotlin.Array? origin=GET_PROPERTY + 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 <`0>: kotlin.Any? - $this: GET_VAR 'this@test: Class<*>' type=java.lang.Class<*> origin=null + $this: GET_VAR 'VALUE_PARAMETER name: type:java.lang.Class<*> flags:[]' 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 3ce0e4e2dca..fb64fef44f2 100644 --- a/compiler/testData/ir/irText/stubs/kotlinInnerClass.txt +++ b/compiler/testData/ir/irText/stubs/kotlinInnerClass.txt @@ -1,8 +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 flags:[] + VALUE_PARAMETER name:inner index:0 type:.Outer.Inner flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='test(Outer.Inner): Unit' - CALL 'foo(): Unit' type=kotlin.Unit origin=null - $this: GET_VAR 'value-parameter inner: Outer.Inner' type=Outer.Inner origin=null - + 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 diff --git a/compiler/testData/ir/irText/stubs/simple.txt b/compiler/testData/ir/irText/stubs/simple.txt index 45044236402..2ce1cceafb0 100644 --- a/compiler/testData/ir/irText/stubs/simple.txt +++ b/compiler/testData/ir/irText/stubs/simple.txt @@ -1,13 +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 flags:[val] + FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:public flags:[final,static] EXPRESSION_BODY - CALL 'plus(Int): Int' type=kotlin.Int origin=PLUS + 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: 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 flags:[] + correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:[val] BLOCK_BODY - RETURN type=kotlin.Nothing from='(): Int' - GET_FIELD 'test: Int' type=kotlin.Int origin=null - + 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 diff --git a/compiler/testData/ir/irText/types/intersectionType1.txt b/compiler/testData/ir/irText/types/intersectionType1.txt index a7dce85b9e9..c9e118d1322 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 flags: + CLASS CLASS name:In modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In<.In.I> flags:[] TYPE_PARAMETER name:I index:0 variance:in superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:In flags:primary + CONSTRUCTOR visibility:public <> () returnType:.In<.In.I> flags:[primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='In' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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:S, y:S) returnType:S flags: + 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:[] TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:x index:0 type:S flags: - VALUE_PARAMETER name:y index:1 type:S flags: + VALUE_PARAMETER name:x index:0 type:.select.S flags:[] + VALUE_PARAMETER name:y index:1 type:.select.S flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='select(S, S): S' - GET_VAR 'value-parameter x: S' type=S origin=null - FUN name:foo visibility:public modality:FINAL (a:kotlin.Array>, b:kotlin.Array>) returnType:kotlin.Boolean flags: + 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:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:a index:0 type:kotlin.Array> flags: - VALUE_PARAMETER name:b index:1 type:kotlin.Array> flags: + VALUE_PARAMETER name:a index:0 type:kotlin.Array<.In<.foo.T>> flags:[] + VALUE_PARAMETER name:b index:1 type:kotlin.Array<.In> flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(Array>, Array>): Boolean' - CALL 'ofType(Any?) on In: Boolean' type=kotlin.Boolean origin=null + 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 : kotlin.Any? - $receiver: CALL 'get(Int): T' type=In origin=GET_ARRAY_ELEMENT - $this: CALL 'select(S, S): S' type=kotlin.Array> origin=null - : kotlin.Array> - x: GET_VAR 'value-parameter a: Array>' type=kotlin.Array> origin=null - y: GET_VAR 'value-parameter b: Array>' type=kotlin.Array> origin=null + $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 + : 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 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, y:kotlin.Any?) returnType:kotlin.Boolean flags:inline + FUN name:ofType visibility:public modality:FINAL ($receiver:.In<.ofType.K>, y:kotlin.Any?) returnType:kotlin.Boolean flags:[inline] TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:In flags: - VALUE_PARAMETER name:y index:0 type:kotlin.Any? flags: + $receiver: VALUE_PARAMETER name: type:.In<.ofType.K> flags:[] + VALUE_PARAMETER name:y index:0 type:kotlin.Any? flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='ofType(Any?) on In: Boolean' - TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=K + 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 typeOperand: TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'value-parameter y: Any?' type=kotlin.Any? origin=null - FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: + 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:[] BLOCK_BODY - VAR name:a1 type:kotlin.Array> flags:val - CALL 'arrayOf(vararg T): Array' type=kotlin.Array> origin=null - : In - elements: VARARG type=kotlin.Array> varargElementType=In - CALL 'constructor In()' type=In origin=null + 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 + : .In + elements: VARARG type=kotlin.Array.In> varargElementType=.In + CALL 'CONSTRUCTOR visibility:public <> () returnType:.In<.In.I> flags:[primary]' type=.In origin=null : kotlin.Int - VAR name:a2 type:kotlin.Array> flags:val - CALL 'arrayOf(vararg T): Array' type=kotlin.Array> origin=null - : In - elements: VARARG type=kotlin.Array> varargElementType=In - CALL 'constructor In()' type=In origin=null + 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 + : .In + elements: VARARG type=kotlin.Array.In> varargElementType=.In + CALL 'CONSTRUCTOR visibility:public <> () returnType:.In<.In.I> flags:[primary]' 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 'foo(Array>, Array>): Boolean' type=kotlin.Boolean origin=null + 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 : kotlin.Int - a: GET_VAR 'a1: Array>' type=kotlin.Array> origin=null - b: GET_VAR 'a2: Array>' type=kotlin.Array> origin=null + 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 diff --git a/compiler/testData/ir/irText/types/intersectionType2.txt b/compiler/testData/ir/irText/types/intersectionType2.txt index a37959f8162..c75f4848ee9 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 flags: + CLASS INTERFACE name:A modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A<.A.T> flags:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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] - $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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='B' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 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:[] 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 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:[] 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] - $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 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] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='C' - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: + 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:[] 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 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:[] 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 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:[] 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) returnType:T 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 name:run visibility:public modality:FINAL (fn:kotlin.Function0<.run.T>) returnType:.run.T flags:[] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:fn index:0 type:kotlin.Function0 flags: + VALUE_PARAMETER name:fn index:0 type:kotlin.Function0<.run.T> flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='run(() -> T): T' - CALL 'invoke(): R' type=T origin=INVOKE - $this: GET_VAR 'value-parameter fn: () -> T' type=kotlin.Function0 origin=VARIABLE_AS_FUNCTION - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Any flags: + 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='foo(): Any' - CALL 'run(() -> T): T' type=kotlin.Any origin=null + 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 : 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 flags:[] BLOCK_BODY - VAR name:mm type:B flags:val - CALL 'constructor B()' type=B origin=null - VAR name:nn type:C flags:val - CALL 'constructor C()' type=C origin=null - VAR name:c type:kotlin.Any flags:val + 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] WHEN type=kotlin.Any origin=IF BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'mm: B' type=B origin=null + then: GET_VAR 'VAR name:mm type:.B flags:[val]' type=.B origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: GET_VAR 'nn: C' type=C origin=null - RETURN type=kotlin.Nothing from='(): Any' - GET_VAR 'c: Any' type=kotlin.Any origin=null - FUNCTION_REFERENCE '(): Any' type=kotlin.Function0 origin=LAMBDA + 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 diff --git a/compiler/testData/ir/irText/types/intersectionType3.txt b/compiler/testData/ir/irText/types/intersectionType3.txt index 80d8cc843f0..7d49ef58948 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 flags: + CLASS INTERFACE name:In modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In<.In.T> flags:[] 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 flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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) returnType:kotlin.Boolean flags:inline + 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] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:In flags: + $receiver: VALUE_PARAMETER name: type:.In<.isT.T> flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='isT() on In: Boolean' - TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=T + 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 typeOperand: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'this@isT: In' type=In origin=null - FUN name:asT visibility:public modality:FINAL ($receiver:In) returnType:kotlin.Unit flags:inline + 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] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - $receiver: VALUE_PARAMETER name: type:In flags: + $receiver: VALUE_PARAMETER name: type:.In<.asT.T> flags:[] 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=T origin=CAST typeOperand=T + 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: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - GET_VAR 'this@asT: In' type=In origin=null - FUN name:sel visibility:public modality:FINAL (x:S, y:S) returnType:S flags: + 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:[] TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] - VALUE_PARAMETER name:x index:0 type:S flags: - VALUE_PARAMETER name:y index:1 type:S flags: + VALUE_PARAMETER name:x index:0 type:.sel.S flags:[] + VALUE_PARAMETER name:y index:1 type:.sel.S flags:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='sel(S, S): S' - GET_VAR 'value-parameter x: S' type=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='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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[] + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[] 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 flags:[] + $this: VALUE_PARAMETER name: type:kotlin.Any flags:[] + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[] 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 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:[] 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 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:[] 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 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:[] 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 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:[] 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 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:[] 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 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:[] 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, y:In) returnType:kotlin.Boolean flags: - VALUE_PARAMETER name:x index:0 type:In flags: - VALUE_PARAMETER name:y index:1 type:In 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 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testInIs1(In, In): Boolean' - CALL 'isT() on In: Boolean' type=kotlin.Boolean origin=null + 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 : kotlin.Any - $receiver: CALL 'sel(S, S): S' type=In origin=null - : In - x: GET_VAR 'value-parameter x: In' type=In origin=null - y: GET_VAR 'value-parameter y: In' type=In origin=null - FUN name:testInIs2 visibility:public modality:FINAL <> (x:In, y:In) returnType:kotlin.Boolean flags: - VALUE_PARAMETER name:x index:0 type:In flags: - VALUE_PARAMETER name:y index:1 type:In flags: + $receiver: CALL 'FUN name:sel visibility:public modality:FINAL (x:.sel.S, y:.sel.S) returnType:.sel.S flags:[]' 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testInIs2(In, In): Boolean' - CALL 'isT() on In: Boolean' type=kotlin.Boolean origin=null + 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 : kotlin.Any - $receiver: CALL 'sel(S, S): S' type=In origin=null - : In - x: GET_VAR 'value-parameter x: In' type=In origin=null - y: GET_VAR 'value-parameter y: In' type=In origin=null - FUN name:testInIs3 visibility:public modality:FINAL <> (x:In, y:In) returnType:kotlin.Boolean flags: - VALUE_PARAMETER name:x index:0 type:In flags: - VALUE_PARAMETER name:y index:1 type:In flags: + $receiver: CALL 'FUN name:sel visibility:public modality:FINAL (x:.sel.S, y:.sel.S) returnType:.sel.S flags:[]' 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testInIs3(In, In): Boolean' - CALL 'isT() on In: Boolean' type=kotlin.Boolean origin=null - : A - $receiver: CALL 'sel(S, S): S' type=In origin=null - : In - x: GET_VAR 'value-parameter x: In' type=In origin=null - y: GET_VAR 'value-parameter y: In' type=In origin=null - FUN name:testInAs1 visibility:public modality:FINAL <> (x:In, y:In) returnType:kotlin.Unit flags: - VALUE_PARAMETER name:x index:0 type:In flags: - VALUE_PARAMETER name:y index:1 type:In flags: + 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 + : .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 + : .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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testInAs1(In, In): Unit' - CALL 'asT() on In: Unit' type=kotlin.Unit origin=null + 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 : kotlin.Any - $receiver: CALL 'sel(S, S): S' type=In origin=null - : In - x: GET_VAR 'value-parameter x: In' type=In origin=null - y: GET_VAR 'value-parameter y: In' type=In origin=null - FUN name:testInAs2 visibility:public modality:FINAL <> (x:In, y:In) returnType:kotlin.Unit flags: - VALUE_PARAMETER name:x index:0 type:In flags: - VALUE_PARAMETER name:y index:1 type:In flags: + $receiver: CALL 'FUN name:sel visibility:public modality:FINAL (x:.sel.S, y:.sel.S) returnType:.sel.S flags:[]' 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testInAs2(In, In): Unit' - CALL 'asT() on In: Unit' type=kotlin.Unit origin=null + 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 : kotlin.Any - $receiver: CALL 'sel(S, S): S' type=In origin=null - : In - x: GET_VAR 'value-parameter x: In' type=In origin=null - y: GET_VAR 'value-parameter y: In' type=In origin=null - FUN name:testInAs3 visibility:public modality:FINAL <> (x:In, y:In) returnType:kotlin.Unit flags: - VALUE_PARAMETER name:x index:0 type:In flags: - VALUE_PARAMETER name:y index:1 type:In flags: + $receiver: CALL 'FUN name:sel visibility:public modality:FINAL (x:.sel.S, y:.sel.S) returnType:.sel.S flags:[]' 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:[] BLOCK_BODY - RETURN type=kotlin.Nothing from='testInAs3(In, In): Unit' - CALL 'asT() on In: Unit' type=kotlin.Unit origin=null - : A - $receiver: CALL 'sel(S, S): S' type=In origin=null - : In - x: GET_VAR 'value-parameter x: In' type=In origin=null - y: GET_VAR 'value-parameter y: In' type=In origin=null + 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 + : .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 + : .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 diff --git a/compiler/testData/ir/sourceRanges/augmentedAssignmentWithExpression.txt b/compiler/testData/ir/sourceRanges/augmentedAssignmentWithExpression.txt index 799e2d07b07..df80eb606f6 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 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 BLOCK_BODY - @2:0..8:1 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @2:0..8:1 INSTANCE_INITIALIZER_CALL classDescriptor='Host' - @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 '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:[] @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 flags:[] + @5:4..7:5 VALUE_PARAMETER name: type:test.Host flags:[] @5:16..7:5 BLOCK_BODY - @6:8..17 CALL 'plusAssign(Int): Unit' type=kotlin.Unit origin=PLUSEQ - @6:8..12 GET_VAR 'this@Host: Host' type=test.Host origin=PLUSEQ + @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: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 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:[] @10:12..18 BLOCK_BODY - @10:12..18 RETURN type=kotlin.Nothing from='foo(): Host' - @10:12..18 CALL 'constructor Host()' 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='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:[] @12:17..14:1 BLOCK_BODY - @13:4..13 CALL 'plusAssign(Int): Unit' type=kotlin.Unit origin=PLUSEQ - @13:4..8 GET_VAR 'this@test2: Host' type=test.Host origin=PLUSEQ + @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: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 flags:[] @16:12..18:1 BLOCK_BODY - @17:4..14 CALL 'plusAssign(Int): Unit' type=kotlin.Unit origin=PLUSEQ - @17:4..9 CALL 'foo(): Host' type=test.Host origin=null + @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: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 flags:[] + @20:10..23 VALUE_PARAMETER name:a index:0 type:kotlin.Function0 flags:[] @20:25..22:1 BLOCK_BODY - @21:4..12 CALL 'plusAssign(Int): Unit' type=kotlin.Unit origin=PLUSEQ - @21:4..7 CALL 'invoke(): R' type=test.Host origin=INVOKE - @21:4..5 GET_VAR 'value-parameter a: () -> Host' type=kotlin.Function0 origin=VARIABLE_AS_FUNCTION + @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: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 a2745e9bef3..356ba19b604 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 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 BLOCK_BODY - @1:0..33:1 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @1:0..33:1 INSTANCE_INITIALIZER_CALL classDescriptor='Foo' - @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 '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:[] @8:4..10:36 BLOCK_BODY - @8:4..10:36 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @8:4..10:36 INSTANCE_INITIALIZER_CALL classDescriptor='Inner' - @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 '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:[] @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 flags:[val] + @25:4..27:25 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[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 flags:[] + @27:8..25 VALUE_PARAMETER name: type:.Foo flags:[] @27:16..25 BLOCK_BODY - @27:16..25 RETURN type=kotlin.Nothing from='(): Int' - @27:16..25 CALL 'plus(Int): Int' type=kotlin.Int origin=PLUS - @27:16..21 GET_FIELD 'x: Int' type=kotlin.Int origin=null - @27:16..21 GET_VAR 'this@Foo: Foo' type=Foo origin=null + @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: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 flags:[] + @30:4..32:5 VALUE_PARAMETER name: type:.Foo flags:[] @30:15..32:5 BLOCK_BODY - @31:8..41 CALL 'foo(Int): Unit' type=kotlin.Unit origin=null - @31:8..41 GET_VAR 'this@Foo: Foo' type=Foo origin=null + @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: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 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:[] diff --git a/compiler/testData/ir/sourceRanges/declarations/classFuns.txt b/compiler/testData/ir/sourceRanges/declarations/classFuns.txt index 9fdcaeaa55f..b9d36bd99a7 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 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 BLOCK_BODY - @3:0..23:1 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @3:0..23:1 INSTANCE_INITIALIZER_CALL classDescriptor='Test' - @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 '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:[] @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 flags:[] + @11:4..18 VALUE_PARAMETER name: type:test.Test flags:[] @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 flags:[] + @14:4..17:18 VALUE_PARAMETER name: type:test.Test flags:[] @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 flags:[] + @20:4..21:18 VALUE_PARAMETER name: type:test.Test flags:[] @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 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:[] diff --git a/compiler/testData/ir/sourceRanges/declarations/classProperties.txt b/compiler/testData/ir/sourceRanges/declarations/classProperties.txt index 496f62f7fbe..547035f797c 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 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 BLOCK_BODY - @2:0..77:1 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @2:0..77:1 INSTANCE_INITIALIZER_CALL classDescriptor='Test' - @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 '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] @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 flags:[] + @4:4..18 VALUE_PARAMETER name: type:test.Test flags:[] @4:4..18 BLOCK_BODY - @4:4..18 RETURN type=kotlin.Nothing from='(): Int' - @4:4..18 GET_FIELD 'test0: Int' type=kotlin.Int origin=null - @4:4..18 GET_VAR 'this@Test: Test' 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='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] @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 flags:[] + @10:4..18 VALUE_PARAMETER name: type:test.Test flags:[] @10:4..18 BLOCK_BODY - @10:4..18 RETURN type=kotlin.Nothing from='(): Int' - @10:4..18 GET_FIELD 'test1: Int' type=kotlin.Int origin=null - @10:4..18 GET_VAR 'this@Test: Test' 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='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] @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 flags:[] + @13:4..16:18 VALUE_PARAMETER name: type:test.Test flags:[] @16:4..18 BLOCK_BODY - @16:4..18 RETURN type=kotlin.Nothing from='(): Int' - @16:4..18 GET_FIELD 'test2: Int' type=kotlin.Int origin=null - @16:4..18 GET_VAR 'this@Test: Test' 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='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] @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 flags:[] + @19:4..20:18 VALUE_PARAMETER name: type:test.Test flags:[] @20:4..18 BLOCK_BODY - @20:4..18 RETURN type=kotlin.Nothing from='(): Int' - @20:4..18 GET_FIELD 'test3: Int' type=kotlin.Int origin=null - @20:4..18 GET_VAR 'this@Test: Test' 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='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:[] @23:22..24 BLOCK_BODY - @23:22..24 RETURN type=kotlin.Nothing from='(): Int' + @23:22..24 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' @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 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:[] @27:16..18 BLOCK_BODY - @27:16..18 RETURN type=kotlin.Nothing from='(): Int' + @27:16..18 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' @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 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:[] @34:16..18 BLOCK_BODY - @34:16..18 RETURN type=kotlin.Nothing from='(): Int' + @34:16..18 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' @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 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:[] @41:16..18 BLOCK_BODY - @41:16..18 RETURN type=kotlin.Nothing from='(): Int' + @41:16..18 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> ($this:test.Test) returnType:kotlin.Int flags:[]' @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 flags:[var] + @44:4..18 FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Int visibility:public flags:[] @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 flags:[] + @44:4..18 VALUE_PARAMETER name: type:test.Test flags:[] @44:4..18 BLOCK_BODY - @44:4..18 RETURN type=kotlin.Nothing from='(): Int' - @44:4..18 GET_FIELD 'test8: Int' type=kotlin.Int origin=null - @44:4..18 GET_VAR 'this@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 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='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 BLOCK_BODY - @44:4..18 SET_FIELD 'test8: Int' type=kotlin.Unit origin=null - @44:4..18 GET_VAR 'this@Test: Test' type=test.Test origin=null - @44:4..18 GET_VAR 'value-parameter : Int' 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 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:[] @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 flags:[] + @47:4..31 VALUE_PARAMETER name: type:test.Test flags:[] @47:4..31 BLOCK_BODY - @47:4..31 RETURN type=kotlin.Nothing from='(): Int' - @47:4..31 GET_FIELD 'test9: Int' type=kotlin.Int origin=null - @47:4..31 GET_VAR 'this@Test: Test' 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='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:28..31 BLOCK_BODY - @47:28..31 SET_FIELD 'test9: Int' type=kotlin.Unit origin=null - @47:28..31 GET_VAR 'this@Test: Test' type=test.Test origin=null - @47:28..31 GET_VAR 'value-parameter : Int' 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 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:[] @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 flags:[] + @50:4..51:19 VALUE_PARAMETER name: type:test.Test flags:[] @50:4..51:19 BLOCK_BODY - @50:4..51:19 RETURN type=kotlin.Nothing from='(): Int' - @50:4..51:19 GET_FIELD 'test10: Int' type=kotlin.Int origin=null - @50:4..51:19 GET_VAR 'this@Test: Test' 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='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:[] @51:16..19 BLOCK_BODY - @51:16..19 SET_FIELD 'test10: Int' type=kotlin.Unit origin=null - @51:16..19 GET_VAR 'this@Test: Test' type=test.Test origin=null - @51:16..19 GET_VAR 'value-parameter : Int' 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 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:[] @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 flags:[] + @54:4..57:9 VALUE_PARAMETER name: type:test.Test flags:[] @54:4..57:9 BLOCK_BODY - @54:4..57:9 RETURN type=kotlin.Nothing from='(): Int' - @54:4..57:9 GET_FIELD 'test11: Int' type=kotlin.Int origin=null - @54:4..57:9 GET_VAR 'this@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 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='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:[] @55:19..57:9 BLOCK_BODY - @56:12..17 SET_FIELD 'test11: Int' type=kotlin.Unit origin=EQ - @56:12..17 GET_VAR 'this@Test: Test' type=test.Test origin=null - @56:20..25 GET_VAR 'value-parameter value: Int' 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 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:[] @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 flags:[] + @60:4..66:9 VALUE_PARAMETER name: type:test.Test flags:[] @60:4..66:9 BLOCK_BODY - @60:4..66:9 RETURN type=kotlin.Nothing from='(): Int' - @60:4..66:9 GET_FIELD 'test12: Int' type=kotlin.Int origin=null - @60:4..66:9 GET_VAR 'this@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 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='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:[] @64:19..66:9 BLOCK_BODY - @65:12..17 SET_FIELD 'test12: Int' type=kotlin.Unit origin=EQ - @65:12..17 GET_VAR 'this@Test: Test' type=test.Test origin=null - @65:20..25 GET_VAR 'value-parameter value: Int' 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 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:[] @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 flags:[] + @69:4..75:9 VALUE_PARAMETER name: type:test.Test flags:[] @69:4..75:9 BLOCK_BODY - @69:4..75:9 RETURN type=kotlin.Nothing from='(): Int' - @69:4..75:9 GET_FIELD 'test13: Int' type=kotlin.Int origin=null - @69:4..75:9 GET_VAR 'this@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 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='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:[] @73:19..75:9 BLOCK_BODY - @74:12..17 SET_FIELD 'test13: Int' type=kotlin.Unit origin=EQ - @74:12..17 GET_VAR 'this@Test: Test' type=test.Test origin=null - @74:20..25 GET_VAR 'value-parameter value: Int' 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 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:[] diff --git a/compiler/testData/ir/sourceRanges/declarations/classes.txt b/compiler/testData/ir/sourceRanges/declarations/classes.txt index 8724ce96dbe..3cea915a1d8 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 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 BLOCK_BODY - @0:0..11 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @0:0..11 INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - @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 '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] @3:0..4:11 BLOCK_BODY - @3:0..4:11 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @3:0..4:11 INSTANCE_INITIALIZER_CALL classDescriptor='Test2' - @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 '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] @10:0..11 BLOCK_BODY - @10:0..11 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @10:0..11 INSTANCE_INITIALIZER_CALL classDescriptor='Test3' - @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 '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] @13:0..14:11 BLOCK_BODY - @13:0..14:11 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @13:0..14:11 INSTANCE_INITIALIZER_CALL classDescriptor='Test4' - @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] - @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 '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] @17:0..18:11 BLOCK_BODY - @17:0..18:11 ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' - @17:0..18:11 INSTANCE_INITIALIZER_CALL classDescriptor='Test5' - @18:0..11 FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any flags: - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum flags: - @18:0..11 FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Unit flags: - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum flags: - @18:0..11 FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:java.lang.Class? flags: - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum flags: - @18:0..11 FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Test5) returnType:kotlin.Int flags: - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum 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, other:kotlin.Any?) returnType:kotlin.Boolean flags: - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum 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) returnType:kotlin.Int flags: - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum 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) returnType:kotlin.String flags: - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum 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) returnType:kotlin.Int flags: - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum flags: - @18:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String flags: - @17:0..18:11 VALUE_PARAMETER name: type:kotlin.Enum flags: - @17:0..18:11 FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array flags: + @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 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 flags:[] + @17:0..18:11 VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[] @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 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:[] diff --git a/compiler/testData/ir/sourceRanges/declarations/fakeOverrides.txt b/compiler/testData/ir/sourceRanges/declarations/fakeOverrides.txt index 4b46a9e2fa6..6ae90a5c5a2 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 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 BLOCK_BODY - @0:0..10 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @0:0..10 INSTANCE_INITIALIZER_CALL classDescriptor='Test' - @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 '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:[] diff --git a/compiler/testData/ir/sourceRanges/declarations/kt29862.txt b/compiler/testData/ir/sourceRanges/declarations/kt29862.txt index 50cdbffbe43..917986657b7 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 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 BLOCK_BODY - @0:0..3:1 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @0:0..3:1 INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - @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 '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] @1:4..14 EXPRESSION_BODY - @1:4..14 GET_VAR 'value-parameter x: Int' 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 '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 BLOCK_BODY - @1:4..14 RETURN type=kotlin.Nothing from='(): Int' - @1:4..14 GET_FIELD 'x: Int' type=kotlin.Int origin=null - @1:4..14 GET_VAR 'this@Test1: 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 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='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:[] @5:0..14:1 BLOCK_BODY - @5:0..14:1 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @5:0..14:1 INSTANCE_INITIALIZER_CALL classDescriptor='Test2' - @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 '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] @8:4..14 EXPRESSION_BODY - @8:4..14 GET_VAR 'value-parameter x: Int' 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 '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 BLOCK_BODY - @8:4..14 RETURN type=kotlin.Nothing from='(): Int' - @8:4..14 GET_FIELD 'x: Int' type=kotlin.Int origin=null - @8:4..14 GET_VAR 'this@Test2: Test2' 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='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:[] @10:4..13:5 BLOCK_BODY - @10:4..13:5 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @10:4..13:5 INSTANCE_INITIALIZER_CALL classDescriptor='TestInner' - @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 '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] @12:8..18 EXPRESSION_BODY - @12:8..18 GET_VAR 'value-parameter x: Int' 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 '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 BLOCK_BODY - @12:8..18 RETURN type=kotlin.Nothing from='(): Int' - @12:8..18 GET_FIELD 'x: Int' type=kotlin.Int origin=null - @12:8..18 GET_VAR 'this@TestInner: 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 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='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:[] diff --git a/compiler/testData/ir/sourceRanges/declarations/primaryConstructors.txt b/compiler/testData/ir/sourceRanges/declarations/primaryConstructors.txt index a8ec1e40483..4ad0db81793 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 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 BLOCK_BODY - @0:0..23 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @0:0..23 INSTANCE_INITIALIZER_CALL classDescriptor='Test1' - @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 '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:12..22 EXPRESSION_BODY - @0:12..22 GET_VAR 'value-parameter x: Int' 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 '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 BLOCK_BODY - @0:12..22 RETURN type=kotlin.Nothing from='(): Int' - @0:12..22 GET_FIELD 'x: Int' type=kotlin.Int origin=null - @0:12..22 GET_VAR 'this@Test1: 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 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='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:[] @2:0..3:32 BLOCK_BODY - @2:0..3:32 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @2:0..3:32 INSTANCE_INITIALIZER_CALL classDescriptor='Test2' - @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 '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] @3:21..31 EXPRESSION_BODY - @3:21..31 GET_VAR 'value-parameter x: Int' 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 '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 BLOCK_BODY - @3:21..31 RETURN type=kotlin.Nothing from='(): Int' - @3:21..31 GET_FIELD 'x: Int' type=kotlin.Int origin=null - @3:21..31 GET_VAR 'this@Test2: 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 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='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:[] @5:0..9:23 BLOCK_BODY - @5:0..9:23 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @5:0..9:23 INSTANCE_INITIALIZER_CALL classDescriptor='Test3' - @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 '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] @9:12..22 EXPRESSION_BODY - @9:12..22 GET_VAR 'value-parameter x: Int' 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 '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 BLOCK_BODY - @9:12..22 RETURN type=kotlin.Nothing from='(): Int' - @9:12..22 GET_FIELD 'x: Int' type=kotlin.Int origin=null - @9:12..22 GET_VAR 'this@Test3: 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 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='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:[] @11:0..13:23 BLOCK_BODY - @11:0..13:23 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @11:0..13:23 INSTANCE_INITIALIZER_CALL classDescriptor='Test4' - @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 '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] @13:12..22 EXPRESSION_BODY - @13:12..22 GET_VAR 'value-parameter x: Int' 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 '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 BLOCK_BODY - @13:12..22 RETURN type=kotlin.Nothing from='(): Int' - @13:12..22 GET_FIELD 'x: Int' type=kotlin.Int origin=null - @13:12..22 GET_VAR 'this@Test4: 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 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='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:[] diff --git a/compiler/testData/ir/sourceRanges/declarations/secondaryConstructors.txt b/compiler/testData/ir/sourceRanges/declarations/secondaryConstructors.txt index 0e444891845..fdf15224e48 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 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:[] @1:4..27 BLOCK_BODY - @1:20..27 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @1:4..27 INSTANCE_INITIALIZER_CALL classDescriptor='C' - @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 '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:[] @3:4..4:32 BLOCK_BODY - @4:25..32 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @3:4..4:32 INSTANCE_INITIALIZER_CALL classDescriptor='C' - @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 '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:[] @9:4..36 BLOCK_BODY - @9:29..36 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @9:4..36 INSTANCE_INITIALIZER_CALL classDescriptor='C' - @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 '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:[] @11:4..12:32 BLOCK_BODY - @12:25..32 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @11:4..12:32 INSTANCE_INITIALIZER_CALL classDescriptor='C' - @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 '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:[] diff --git a/compiler/testData/ir/sourceRanges/declarations/synthesizedDataClassMembers.txt b/compiler/testData/ir/sourceRanges/declarations/synthesizedDataClassMembers.txt index f85c042cdf5..ee5ff50e5fc 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 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 BLOCK_BODY - @0:0..4:1 DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - @0:0..4:1 INSTANCE_INITIALIZER_CALL classDescriptor='C' - @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 '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] @1:8..18 EXPRESSION_BODY - @1:8..18 GET_VAR 'value-parameter x: Int' 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 '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 BLOCK_BODY - @1:8..18 RETURN type=kotlin.Nothing from='(): Int' - @1:8..18 GET_FIELD 'x: Int' type=kotlin.Int origin=null - @1:8..18 GET_VAR 'this@C: C' 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='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] @2:8..21 EXPRESSION_BODY - @2:8..21 GET_VAR 'value-parameter y: String' 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 '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 BLOCK_BODY - @2:8..21 RETURN type=kotlin.Nothing from='(): String' - @2:8..21 GET_FIELD 'y: String' type=kotlin.String origin=null - @2:8..21 GET_VAR 'this@C: C' 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='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] @3:8..18 EXPRESSION_BODY - @3:8..18 GET_VAR 'value-parameter z: Any' 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 '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 BLOCK_BODY - @3:8..18 RETURN type=kotlin.Nothing from='(): Any' - @3:8..18 GET_FIELD 'z: Any' type=kotlin.Any origin=null - @3:8..18 GET_VAR 'this@C: C' 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='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:[] @1:8..18 BLOCK_BODY - @1:8..18 RETURN type=kotlin.Nothing from='component1(): Int' - @1:8..18 CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - @1:8..18 GET_VAR 'this@C: C' 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='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:[] @2:8..21 BLOCK_BODY - @2:8..21 RETURN type=kotlin.Nothing from='component2(): String' - @2:8..21 CALL '(): String' type=kotlin.String origin=GET_PROPERTY - @2:8..21 GET_VAR 'this@C: C' 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='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:[] @3:8..18 BLOCK_BODY - @3:8..18 RETURN type=kotlin.Nothing from='component3(): Any' - @3:8..18 CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - @3:8..18 GET_VAR 'this@C: C' 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='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:[] @0:0..4:1 EXPRESSION_BODY - @0:0..4:1 CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'this@C: C' type=C origin=null - @2:8..21 VALUE_PARAMETER name:y index:1 type:kotlin.String flags: + @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 EXPRESSION_BODY - @0:0..4:1 CALL '(): String' type=kotlin.String origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'this@C: C' type=C origin=null - @3:8..18 VALUE_PARAMETER name:z index:2 type:kotlin.Any flags: + @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 EXPRESSION_BODY - @0:0..4:1 CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'this@C: C' 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 'VALUE_PARAMETER name: type:.C flags:[]' type=.C origin=null @0:0..4:1 BLOCK_BODY - @0:0..4:1 RETURN type=kotlin.Nothing from='copy(Int = ..., String = ..., Any = ...): C' - @0:0..4:1 CALL 'constructor C(Int, String, Any)' type=C origin=null - @0:0..4:1 GET_VAR 'value-parameter x: Int = ...' type=kotlin.Int origin=null - @0:0..4:1 GET_VAR 'value-parameter y: String = ...' type=kotlin.String origin=null - @0:0..4:1 GET_VAR 'value-parameter z: Any = ...' 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='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 BLOCK_BODY - @0:0..4:1 RETURN type=kotlin.Nothing from='toString(): String' + @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 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 '(): Int' type=kotlin.Int origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'this@C: C' 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 'VALUE_PARAMETER name: type:.C flags:[]' 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 '(): String' type=kotlin.String origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'this@C: C' 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 'VALUE_PARAMETER name: type:.C flags:[]' 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 '(): Any' type=kotlin.Any origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'this@C: C' 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 'VALUE_PARAMETER name: type:.C flags:[]' 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 flags:[] + @0:0..4:1 VALUE_PARAMETER name: type:.C flags:[] @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 flags:[var] @0:0..4:1 CONST Int type=kotlin.Int value=0 - @0:0..4:1 SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - @0:0..4:1 CALL 'hashCode(): Int' type=kotlin.Int origin=null - @0:0..4:1 CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'this@C: C' type=C origin=null - @0:0..4:1 SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - @0:0..4:1 CALL 'plus(Int): Int' type=kotlin.Int origin=null - @0:0..4:1 CALL 'times(Int): Int' type=kotlin.Int origin=null - @0:0..4:1 GET_VAR 'tmp0_result: Int' type=kotlin.Int 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 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 CONST Int type=kotlin.Int value=31 - @0:0..4:1 CALL 'hashCode(): Int' type=kotlin.Int origin=null - @0:0..4:1 CALL '(): String' type=kotlin.String origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'this@C: C' type=C origin=null - @0:0..4:1 SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ - @0:0..4:1 CALL 'plus(Int): Int' type=kotlin.Int origin=null - @0:0..4:1 CALL 'times(Int): Int' type=kotlin.Int origin=null - @0:0..4:1 GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null + @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 CONST Int type=kotlin.Int value=31 - @0:0..4:1 CALL 'hashCode(): Int' type=kotlin.Int origin=null - @0:0..4:1 CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'this@C: C' type=C origin=null - @0:0..4:1 RETURN type=kotlin.Nothing from='hashCode(): Int' - @0:0..4:1 GET_VAR 'tmp0_result: Int' 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 '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 BLOCK_BODY @0:0..4:1 WHEN type=kotlin.Unit origin=null @0:0..4:1 BRANCH - @0:0..4:1 CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ - @0:0..4:1 GET_VAR 'this@C: C' type=C origin=null - @0:0..4:1 GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null - @0:0..4:1 RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + @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 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 other: Any?' type=kotlin.Any? origin=null - @0:0..4:1 RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + @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 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 TYPE_OP type=C origin=CAST typeOperand=C - @0:0..4:1 GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null + @0:0..4:1 VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:.C flags:[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 WHEN type=kotlin.Unit origin=null @0:0..4:1 BRANCH - @0:0..4:1 CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - @0:0..4:1 CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - @0:0..4:1 CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'this@C: C' type=C origin=null - @0:0..4:1 CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'tmp0_other_with_cast: C' type=C origin=null - @0:0..4:1 RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + @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 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 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - @0:0..4:1 CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - @0:0..4:1 CALL '(): String' type=kotlin.String origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'this@C: C' type=C origin=null - @0:0..4:1 CALL '(): String' type=kotlin.String origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'tmp0_other_with_cast: C' type=C origin=null - @0:0..4:1 RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + @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 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 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ - @0:0..4:1 CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ - @0:0..4:1 CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'this@C: C' type=C origin=null - @0:0..4:1 CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY - @0:0..4:1 GET_VAR 'tmp0_other_with_cast: C' type=C origin=null - @0:0..4:1 RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + @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 CONST Boolean type=kotlin.Boolean value=false - @0:0..4:1 RETURN type=kotlin.Nothing from='equals(Any?): Boolean' + @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 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 3adcd969070..d6157882382 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 flags:[] @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 flags:[] @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 flags:[] @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 flags:[] @19:12..14 BLOCK_BODY diff --git a/compiler/testData/ir/sourceRanges/declarations/topLevelProperties.txt b/compiler/testData/ir/sourceRanges/declarations/topLevelProperties.txt index e4fb423eb6b..d4ffd8cc2b3 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 flags:[val] + @3:0..14 FIELD PROPERTY_BACKING_FIELD name:test0 type:kotlin.Int visibility:public flags:[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 flags:[] @3:0..14 BLOCK_BODY - @3:0..14 RETURN type=kotlin.Nothing from='(): Int' - @3:0..14 GET_FIELD 'test0: Int' 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='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] @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 flags:[] @9:0..14 BLOCK_BODY - @9:0..14 RETURN type=kotlin.Nothing from='(): Int' - @9:0..14 GET_FIELD 'test1: Int' 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='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] @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 flags:[] @15:0..14 BLOCK_BODY - @15:0..14 RETURN type=kotlin.Nothing from='(): Int' - @15:0..14 GET_FIELD 'test2: Int' 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='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] @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 flags:[] @19:0..14 BLOCK_BODY - @19:0..14 RETURN type=kotlin.Nothing from='(): Int' - @19:0..14 GET_FIELD 'test3: Int' 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='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:[] @22:18..20 BLOCK_BODY - @22:18..20 RETURN type=kotlin.Nothing from='(): Int' + @22:18..20 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' @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 flags:[val] + @26:4..14 FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] @26:12..14 BLOCK_BODY - @26:12..14 RETURN type=kotlin.Nothing from='(): Int' + @26:12..14 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' @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 flags:[val] + @33:4..14 FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] @33:12..14 BLOCK_BODY - @33:12..14 RETURN type=kotlin.Nothing from='(): Int' + @33:12..14 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' @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 flags:[val] + @40:4..14 FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[] @40:12..14 BLOCK_BODY - @40:12..14 RETURN type=kotlin.Nothing from='(): Int' + @40:12..14 RETURN type=kotlin.Nothing from='FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' @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 flags:[var] + @43:0..14 FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Int visibility:public flags:[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 flags:[] @43:0..14 BLOCK_BODY - @43:0..14 RETURN type=kotlin.Nothing from='(): Int' - @43:0..14 GET_FIELD 'test8: Int' 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='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 BLOCK_BODY - @43:0..14 SET_FIELD 'test8: Int' type=kotlin.Unit origin=null - @43:0..14 GET_VAR 'value-parameter : Int' 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 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] @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 flags:[] @46:0..27 BLOCK_BODY - @46:0..27 RETURN type=kotlin.Nothing from='(): Int' - @46:0..27 GET_FIELD 'test9: Int' 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='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:24..27 BLOCK_BODY - @46:24..27 SET_FIELD 'test9: Int' type=kotlin.Unit origin=null - @46:24..27 GET_VAR 'value-parameter : Int' 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 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] @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 flags:[] @49:0..50:15 BLOCK_BODY - @49:0..50:15 RETURN type=kotlin.Nothing from='(): Int' - @49:0..50:15 GET_FIELD 'test10: Int' 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='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:[] @50:12..15 BLOCK_BODY - @50:12..15 SET_FIELD 'test10: Int' type=kotlin.Unit origin=null - @50:12..15 GET_VAR 'value-parameter : Int' 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 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] @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 flags:[] @53:0..54:32 BLOCK_BODY - @53:0..54:32 RETURN type=kotlin.Nothing from='(): Int' - @53:0..54:32 GET_FIELD 'test11: Int' 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='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:[] @54:15..32 BLOCK_BODY - @54:17..22 SET_FIELD 'test11: Int' type=kotlin.Unit origin=EQ - @54:25..30 GET_VAR 'value-parameter value: Int' 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 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] @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 flags:[] @57:0..61:32 BLOCK_BODY - @57:0..61:32 RETURN type=kotlin.Nothing from='(): Int' - @57:0..61:32 GET_FIELD 'test12: Int' 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='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:[] @61:15..32 BLOCK_BODY - @61:17..22 SET_FIELD 'test12: Int' type=kotlin.Unit origin=EQ - @61:25..30 GET_VAR 'value-parameter value: Int' 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 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] @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 flags:[] @64:0..68:32 BLOCK_BODY - @64:0..68:32 RETURN type=kotlin.Nothing from='(): Int' - @64:0..68:32 GET_FIELD 'test13: Int' 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='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:[] @68:15..32 BLOCK_BODY - @68:17..22 SET_FIELD 'test13: Int' type=kotlin.Unit origin=EQ - @68:25..30 GET_VAR 'value-parameter value: Int' type=kotlin.Int origin=null + @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 diff --git a/compiler/testData/ir/sourceRanges/kt17108.txt b/compiler/testData/ir/sourceRanges/kt17108.txt index 62fb03456c4..3d83dd802f9 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 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:[] diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrCfgTestCase.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrCfgTestCase.kt index 1cd254d5a38..d0b90626f4e 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrCfgTestCase.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrCfgTestCase.kt @@ -16,7 +16,10 @@ package org.jetbrains.kotlin.ir -import org.jetbrains.kotlin.ir.declarations.* +import org.jetbrains.kotlin.ir.declarations.IrFile +import org.jetbrains.kotlin.ir.declarations.IrFunction +import org.jetbrains.kotlin.ir.declarations.IrModuleFragment +import org.jetbrains.kotlin.ir.declarations.path import org.jetbrains.kotlin.ir2cfg.generators.FunctionGenerator import org.jetbrains.kotlin.ir2cfg.util.dump import org.jetbrains.kotlin.test.KotlinTestUtils @@ -24,8 +27,6 @@ import java.io.File abstract class AbstractIrCfgTestCase : AbstractIrGeneratorTestCase() { - private val IrFunction.name: String get() = this.descriptor.name.asString() - private fun IrFile.cfgDump(): String { val builder = StringBuilder() for (declaration in this.declarations) {