diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/Psi2IrTranslator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/Psi2IrTranslator.kt index 1107fc72e52..8a38cf579db 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/Psi2IrTranslator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/Psi2IrTranslator.kt @@ -20,6 +20,7 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.util.patchDeclarationParents +import org.jetbrains.kotlin.ir.util.patchOverriddenFunctionsFromDescriptors import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi2ir.generators.GeneratorContext import org.jetbrains.kotlin.psi2ir.generators.ModuleGenerator @@ -47,8 +48,10 @@ class Psi2IrTranslator(val configuration: Psi2IrConfiguration = Psi2IrConfigurat GeneratorContext(configuration, moduleDescriptor, bindingContext) fun generateModuleFragment(context: GeneratorContext, ktFiles: Collection): IrModuleFragment { - val irModule = ModuleGenerator(context).generateModuleFragment(ktFiles) + val moduleGenerator = ModuleGenerator(context) + val irModule = moduleGenerator.generateModuleFragmentWithoutDependencies(ktFiles) postprocess(context, irModule) + moduleGenerator.generateUnboundSymbolsAsDependencies(irModule) return irModule } @@ -58,5 +61,6 @@ class Psi2IrTranslator(val configuration: Psi2IrConfiguration = Psi2IrConfigurat postprocessingSteps.forEach { it.postprocess(context, irElement) } irElement.patchDeclarationParents() + irElement.patchOverriddenFunctionsFromDescriptors(context.symbolTable) } } diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ModuleGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ModuleGenerator.kt index 4cf41427240..472c9bb96dc 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ModuleGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ModuleGenerator.kt @@ -36,7 +36,7 @@ class ModuleGenerator(override val context: GeneratorContext) : Generator { irModule.files.addAll(generateFiles(ktFiles)) } - private fun generateUnboundSymbolsAsDependencies(irModule: IrModuleFragment) { + fun generateUnboundSymbolsAsDependencies(irModule: IrModuleFragment) { ExternalDependenciesGenerator(context.symbolTable, context.irBuiltIns).generateUnboundSymbolsAsDependencies(irModule) } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrSimpleFunction.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrSimpleFunction.kt index 4c8335b3a5d..d7a961756be 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrSimpleFunction.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrSimpleFunction.kt @@ -26,6 +26,8 @@ interface IrSimpleFunction : IrFunction, IrSymbolDeclaration + override val declarationKind: IrDeclarationKind get() = IrDeclarationKind.FUNCTION } \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt index bdec6f29737..b41211d2c75 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt @@ -27,6 +27,7 @@ import org.jetbrains.kotlin.ir.symbols.impl.IrSimpleFunctionSymbolImpl import org.jetbrains.kotlin.ir.visitors.IrElementVisitor import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.types.KotlinType +import org.jetbrains.kotlin.utils.SmartList class IrFunctionImpl( startOffset: Int, @@ -62,6 +63,8 @@ class IrFunctionImpl( override val descriptor: FunctionDescriptor = symbol.descriptor + override val overriddenSymbols: MutableList = SmartList() + constructor( startOffset: Int, endOffset: Int, diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTree.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTree.kt index bb69e8fe1b9..9e14c6307d9 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTree.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTree.kt @@ -108,13 +108,21 @@ open class DeepCopyIrTree : IrElementTransformerVoid() { mapTypeAliasDeclaration(declaration.descriptor) ) - override fun visitFunction(declaration: IrFunction): IrFunction = + override fun visitSimpleFunction(declaration: IrSimpleFunction): IrFunction = IrFunctionImpl( declaration.startOffset, declaration.endOffset, mapDeclarationOrigin(declaration.origin), mapFunctionDeclaration(declaration.descriptor), declaration.body?.transform() - ).transformParameters(declaration) + ).transformParameters(declaration).apply { + descriptor.overriddenDescriptors.mapIndexedTo(overriddenSymbols) { index, overriddenDescriptor -> + val oldOverriddenSymbol = declaration.overriddenSymbols.getOrNull(index) + if (overriddenDescriptor.original == oldOverriddenSymbol?.descriptor?.original) + oldOverriddenSymbol + else + IrSimpleFunctionSymbolImpl(overriddenDescriptor.original) + } + } override fun visitConstructor(declaration: IrConstructor): IrConstructor = IrConstructorImpl( diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt index 008a3676cf4..bbdede9e893 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt @@ -23,6 +23,7 @@ import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.impl.* import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.expressions.impl.* +import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol import org.jetbrains.kotlin.ir.symbols.impl.IrAnonymousInitializerSymbolImpl import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid import org.jetbrains.kotlin.ir.visitors.acceptVoid @@ -105,6 +106,9 @@ open class DeepCopyIrTreeWithSymbols(private val symbolRemapper: SymbolRemapper) mapDeclarationOrigin(declaration.origin), symbolRemapper.getDeclaredFunction(declaration.symbol) ).apply { + declaration.overriddenSymbols.mapTo(overriddenSymbols) { + symbolRemapper.getReferencedFunction(it) as IrSimpleFunctionSymbol + } transformFunctionChildren(declaration) } 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 d6ced4c3d34..a2116a6876a 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 @@ -83,8 +83,18 @@ class DumpIrTreeVisitor(out: Appendable) : IrElementVisitor { } } - override fun visitFunction(declaration: IrFunction, data: String) { + override fun visitSimpleFunction(declaration: IrSimpleFunction, data: String) { declaration.dumpLabeledElementWith(data) { + if (declaration.overriddenSymbols.isNotEmpty()) { + indented("overridden") { + for (overriddenSymbol in declaration.overriddenSymbols) { + if (overriddenSymbol.isBound) + overriddenSymbol.owner.render() + else + printer.println("UNBOUND: ", DescriptorRenderer.COMPACT.render(overriddenSymbol.descriptor)) + } + } + } declaration.typeParameters.dumpElements() declaration.dispatchReceiverParameter?.accept(this, "\$this") declaration.extensionReceiverParameter?.accept(this, "\$receiver") @@ -204,6 +214,10 @@ class DumpIrTreeVisitor(out: Appendable) : IrElementVisitor { indented(body) } + private fun IrElement.render() { + printer.println(accept(elementRenderer, null)) + } + private fun IrElement.dumpLabeledSubTree(label: String) { printer.println(accept(elementRenderer, null).withLabel(label)) indented { @@ -211,6 +225,11 @@ class DumpIrTreeVisitor(out: Appendable) : IrElementVisitor { } } + private inline fun indented(label: String, body: () -> Unit) { + printer.println("$label:") + indented(body) + } + private inline fun indented(body: () -> Unit) { printer.pushIndent() body() diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/PatchOverriddenFunctions.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/PatchOverriddenFunctions.kt new file mode 100644 index 00000000000..faa4c102ecf --- /dev/null +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/PatchOverriddenFunctions.kt @@ -0,0 +1,34 @@ +/* + * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.ir.util + +import org.jetbrains.kotlin.ir.IrElement +import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction +import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid +import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid +import org.jetbrains.kotlin.ir.visitors.acceptVoid + +fun T.patchOverriddenFunctionsFromDescriptors(symbolTable: SymbolTable) = + apply { + acceptVoid(PatchOverriddenFunctionsFromDescriptorsVisitor(symbolTable)) + } + +class PatchOverriddenFunctionsFromDescriptorsVisitor( + private val symbolTable: SymbolTable +) : IrElementVisitorVoid { + + override fun visitElement(element: IrElement) { + element.acceptChildrenVoid(this) + } + + override fun visitSimpleFunction(declaration: IrSimpleFunction) { + declaration.descriptor.overriddenDescriptors.mapTo(declaration.overriddenSymbols) { + symbolTable.referenceSimpleFunction(it.original) + } + + super.visitSimpleFunction(declaration) + } +} diff --git a/compiler/testData/ir/irText/classes/abstractMembers.txt b/compiler/testData/ir/irText/classes/abstractMembers.txt index 541807a11e4..5030b2e33ba 100644 --- a/compiler/testData/ir/irText/classes/abstractMembers.txt +++ b/compiler/testData/ir/irText/classes/abstractMembers.txt @@ -17,11 +17,17 @@ FILE fqName: fileName:/abstractMembers.kt $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS INTERFACE name:Interface modality:ABSTRACT visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Interface flags: @@ -37,10 +43,16 @@ FILE fqName: fileName:/abstractMembers.kt $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 f0e0f559a3c..51a9f9b8291 100644 --- a/compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.txt +++ b/compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.txt @@ -28,11 +28,17 @@ FILE fqName: fileName:/argumentReorderingInDelegatingConstructorCall.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test1 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test1 flags: @@ -51,16 +57,26 @@ FILE fqName: fileName:/argumentReorderingInDelegatingConstructorCall.kt INSTANCE_INITIALIZER_CALL classDescriptor='Test1' PROPERTY FAKE_OVERRIDE name:x type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:Base) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Base) returnType:Int flags: $this: VALUE_PARAMETER name: type:Base flags: PROPERTY FAKE_OVERRIDE name:y type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:Base) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Base) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test2 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test2 flags: @@ -92,15 +108,25 @@ FILE fqName: fileName:/argumentReorderingInDelegatingConstructorCall.kt yy: GET_VAR 'tmp0_yy: Int' type=kotlin.Int origin=null PROPERTY FAKE_OVERRIDE name:x type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:Base) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Base) returnType:Int flags: $this: VALUE_PARAMETER name: type:Base flags: PROPERTY FAKE_OVERRIDE name:y type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:Base) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Base) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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 2bf03e84df4..8cba84c6fc5 100644 --- a/compiler/testData/ir/irText/classes/classMembers.txt +++ b/compiler/testData/ir/irText/classes/classMembers.txt @@ -102,11 +102,17 @@ FILE fqName: fileName:/classMembers.kt CALL 'println(Any?): Unit' 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS INTERFACE name:NestedInterface modality:ABSTRACT visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:C.NestedInterface flags: @@ -119,11 +125,17 @@ FILE fqName: fileName:/classMembers.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS OBJECT name:Companion modality:FINAL visibility:public flags:companion $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:C.Companion flags: @@ -132,17 +144,29 @@ FILE fqName: fileName:/classMembers.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 dc0ff645212..04eb52d39e5 100644 --- a/compiler/testData/ir/irText/classes/classes.txt +++ b/compiler/testData/ir/irText/classes/classes.txt @@ -6,20 +6,32 @@ FILE fqName: fileName:/classes.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS INTERFACE name:TestInterface modality:ABSTRACT visibility:public 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS OBJECT name:TestObject modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestObject flags: @@ -28,20 +40,32 @@ FILE fqName: fileName:/classes.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS ANNOTATION_CLASS name:TestAnnotationClass modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestAnnotationClass flags: FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS ENUM_CLASS name:TestEnumClass modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestEnumClass flags: @@ -51,26 +75,44 @@ FILE fqName: fileName:/classes.kt >: null INSTANCE_INITIALIZER_CALL classDescriptor='TestEnumClass' FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:Any flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> () returnType: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:Unit flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> () returnType: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<(TestEnumClass..TestEnumClass?)>..java.lang.Class<(TestEnumClass..TestEnumClass?)>?) flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> () returnType:(java.lang.Class<(E..E?)>..java.lang.Class<(E..E?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnumClass) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> (other:E) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> (other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:Array flags: SYNTHETIC_BODY kind=ENUM_VALUES diff --git a/compiler/testData/ir/irText/classes/companionObject.txt b/compiler/testData/ir/irText/classes/companionObject.txt index dfec159bd59..610f2b280dd 100644 --- a/compiler/testData/ir/irText/classes/companionObject.txt +++ b/compiler/testData/ir/irText/classes/companionObject.txt @@ -12,18 +12,30 @@ FILE fqName: fileName:/companionObject.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test2 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test2 flags: @@ -38,17 +50,29 @@ FILE fqName: fileName:/companionObject.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 6c44c517862..d88cb17e68a 100644 --- a/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.txt +++ b/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.txt @@ -209,6 +209,8 @@ FILE fqName: fileName:/dataClassWithArrayMembers.kt 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:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:Test1 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='toString(): String' @@ -260,6 +262,8 @@ FILE fqName: fileName:/dataClassWithArrayMembers.kt $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null CONST String type=kotlin.String value=) FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:Test1) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:Test1 flags: BLOCK_BODY VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var @@ -335,6 +339,8 @@ FILE fqName: fileName:/dataClassWithArrayMembers.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:Test1 flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: BLOCK_BODY @@ -482,6 +488,8 @@ FILE fqName: fileName:/dataClassWithArrayMembers.kt : null 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:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:Test2 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='toString(): String' @@ -493,6 +501,8 @@ FILE fqName: fileName:/dataClassWithArrayMembers.kt $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null CONST String type=kotlin.String value=) FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:Test2) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:Test2 flags: BLOCK_BODY VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var @@ -504,6 +514,8 @@ FILE fqName: fileName:/dataClassWithArrayMembers.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:Test2 flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: BLOCK_BODY @@ -569,6 +581,8 @@ FILE fqName: fileName:/dataClassWithArrayMembers.kt 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:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:Test3 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='toString(): String' @@ -580,6 +594,8 @@ FILE fqName: fileName:/dataClassWithArrayMembers.kt $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null CONST String type=kotlin.String value=) FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:Test3) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:Test3 flags: BLOCK_BODY VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var @@ -602,6 +618,8 @@ FILE fqName: fileName:/dataClassWithArrayMembers.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:Test3 flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: BLOCK_BODY diff --git a/compiler/testData/ir/irText/classes/dataClasses.txt b/compiler/testData/ir/irText/classes/dataClasses.txt index 410a503420a..a2fe9bf2007 100644 --- a/compiler/testData/ir/irText/classes/dataClasses.txt +++ b/compiler/testData/ir/irText/classes/dataClasses.txt @@ -77,6 +77,8 @@ FILE fqName: fileName:/dataClasses.kt 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:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:Test1 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='toString(): String' @@ -95,6 +97,8 @@ FILE fqName: fileName:/dataClasses.kt $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null CONST String type=kotlin.String value=) FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:Test1) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:Test1 flags: BLOCK_BODY VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var @@ -122,6 +126,8 @@ FILE fqName: fileName:/dataClasses.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:Test1 flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: BLOCK_BODY @@ -207,6 +213,8 @@ FILE fqName: fileName:/dataClasses.kt 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:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:Test2 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='toString(): String' @@ -217,6 +225,8 @@ FILE fqName: fileName:/dataClasses.kt $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null CONST String type=kotlin.String value=) FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:Test2) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:Test2 flags: BLOCK_BODY VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var @@ -239,6 +249,8 @@ FILE fqName: fileName:/dataClasses.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:Test2 flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: BLOCK_BODY diff --git a/compiler/testData/ir/irText/classes/dataClassesGeneric.txt b/compiler/testData/ir/irText/classes/dataClassesGeneric.txt index 5b6a1440e2a..58f4e19c0d0 100644 --- a/compiler/testData/ir/irText/classes/dataClassesGeneric.txt +++ b/compiler/testData/ir/irText/classes/dataClassesGeneric.txt @@ -35,6 +35,8 @@ FILE fqName: fileName:/dataClassesGeneric.kt : null 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:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:Test1 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='toString(): String' @@ -45,6 +47,8 @@ FILE fqName: fileName:/dataClassesGeneric.kt $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null CONST String type=kotlin.String value=) FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:Test1) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:Test1 flags: BLOCK_BODY VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var @@ -68,6 +72,8 @@ FILE fqName: fileName:/dataClassesGeneric.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:Test1 flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: BLOCK_BODY diff --git a/compiler/testData/ir/irText/classes/delegatedImplementation.txt b/compiler/testData/ir/irText/classes/delegatedImplementation.txt index 3cd80d39405..3210831c3b8 100644 --- a/compiler/testData/ir/irText/classes/delegatedImplementation.txt +++ b/compiler/testData/ir/irText/classes/delegatedImplementation.txt @@ -11,11 +11,17 @@ FILE fqName: fileName:/delegatedImplementation.kt $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS OBJECT name:BaseImpl modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:BaseImpl flags: @@ -24,25 +30,37 @@ FILE fqName: fileName:/delegatedImplementation.kt 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:Unit flags: + overridden: + FUN name:foo visibility:public modality:ABSTRACT <> ($this:IBase, x:kotlin.Int, s:kotlin.String) returnType: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:Int flags: + overridden: + FUN name:bar visibility:public modality:ABSTRACT <> ($this:IBase) returnType:Int flags: $this: VALUE_PARAMETER name: type:BaseImpl flags: BLOCK_BODY RETURN type=kotlin.Nothing from='bar(): Int' CONST Int type=kotlin.Int value=42 FUN name:qux visibility:public modality:OPEN <> ($this:BaseImpl, $receiver:kotlin.String) returnType:Unit flags: + overridden: + FUN name:qux visibility:public modality:ABSTRACT <> ($this:IBase, $receiver:kotlin.String) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS INTERFACE name:IOther modality:ABSTRACT visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:IOther flags: @@ -68,11 +86,17 @@ FILE fqName: fileName:/delegatedImplementation.kt $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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: @@ -91,6 +115,8 @@ FILE fqName: fileName:/delegatedImplementation.kt 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:String flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IOther) returnType:String flags: $this: VALUE_PARAMETER name: type:otherImpl. flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(): String' @@ -101,12 +127,16 @@ FILE fqName: fileName:/delegatedImplementation.kt 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:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IOther) returnType: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:Unit flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IOther, :kotlin.Int) returnType:Unit flags: $this: VALUE_PARAMETER name: type:otherImpl. flags: VALUE_PARAMETER name: index:0 type:kotlin.Int flags: BLOCK_BODY @@ -115,6 +145,8 @@ FILE fqName: fileName:/delegatedImplementation.kt value: GET_VAR 'value-parameter : Int' type=kotlin.Int origin=null PROPERTY name:z1 type:kotlin.Int visibility:public modality:OPEN flags:val FUN name: visibility:public modality:OPEN <> ($this:otherImpl., $receiver:kotlin.Byte) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IOther, $receiver:kotlin.Byte) returnType:Int flags: $this: VALUE_PARAMETER name: type:otherImpl. flags: $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags: BLOCK_BODY @@ -122,22 +154,32 @@ FILE fqName: fileName:/delegatedImplementation.kt CONST Int type=kotlin.Int value=1 PROPERTY name:z2 type:kotlin.Int visibility:public modality:OPEN flags:var FUN name: visibility:public modality:OPEN <> ($this:otherImpl., $receiver:kotlin.Byte) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IOther, $receiver:kotlin.Byte) returnType: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' CONST Int type=kotlin.Int value=2 FUN name: visibility:public modality:OPEN <> ($this:otherImpl., $receiver:kotlin.Byte, value:kotlin.Int) returnType:Unit flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IOther, $receiver:kotlin.Byte, :kotlin.Int) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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: @@ -150,6 +192,8 @@ FILE fqName: fileName:/delegatedImplementation.kt EXPRESSION_BODY GET_OBJECT 'BaseImpl' type=BaseImpl FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:Test1) returnType:Int flags: + overridden: + FUN name:bar visibility:public modality:ABSTRACT <> ($this:IBase) returnType:Int flags: $this: VALUE_PARAMETER name: type:Test1 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='bar(): Int' @@ -157,6 +201,8 @@ FILE fqName: fileName:/delegatedImplementation.kt $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:Unit flags: + overridden: + FUN name:foo visibility:public modality:ABSTRACT <> ($this:IBase, x:kotlin.Int, s:kotlin.String) returnType: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: @@ -167,6 +213,8 @@ FILE fqName: fileName:/delegatedImplementation.kt 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:Unit flags: + overridden: + FUN name:qux visibility:public modality:ABSTRACT <> ($this:IBase, $receiver:kotlin.String) returnType:Unit flags: $this: VALUE_PARAMETER name: type:Test1 flags: $receiver: VALUE_PARAMETER name: type:kotlin.String flags: BLOCK_BODY @@ -175,11 +223,17 @@ FILE fqName: fileName:/delegatedImplementation.kt 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test2 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test2 flags: @@ -191,6 +245,8 @@ FILE fqName: fileName:/delegatedImplementation.kt EXPRESSION_BODY GET_OBJECT 'BaseImpl' type=BaseImpl FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:Test2) returnType:Int flags: + overridden: + FUN name:bar visibility:public modality:ABSTRACT <> ($this:IBase) returnType:Int flags: $this: VALUE_PARAMETER name: type:Test2 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='bar(): Int' @@ -198,6 +254,8 @@ FILE fqName: fileName:/delegatedImplementation.kt $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:Unit flags: + overridden: + FUN name:foo visibility:public modality:ABSTRACT <> ($this:IBase, x:kotlin.Int, s:kotlin.String) returnType: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: @@ -208,6 +266,8 @@ FILE fqName: fileName:/delegatedImplementation.kt 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:Unit flags: + overridden: + FUN name:qux visibility:public modality:ABSTRACT <> ($this:IBase, $receiver:kotlin.String) returnType:Unit flags: $this: VALUE_PARAMETER name: type:Test2 flags: $receiver: VALUE_PARAMETER name: type:kotlin.String flags: BLOCK_BODY @@ -222,6 +282,8 @@ FILE fqName: fileName:/delegatedImplementation.kt y0: CONST Int type=kotlin.Int value=42 PROPERTY DELEGATED_MEMBER name:z1 type:kotlin.Int visibility:public modality:OPEN flags:val FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:Test2, $receiver:kotlin.Byte) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IOther, $receiver:kotlin.Byte) returnType:Int flags: $this: VALUE_PARAMETER name: type:Test2 flags: $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags: BLOCK_BODY @@ -232,6 +294,8 @@ FILE fqName: fileName:/delegatedImplementation.kt $receiver: GET_VAR 'this@z1: Byte' type=kotlin.Byte origin=null PROPERTY DELEGATED_MEMBER name:x type:kotlin.String visibility:public modality:OPEN flags:val FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:Test2) returnType:String flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IOther) returnType:String flags: $this: VALUE_PARAMETER name: type:Test2 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(): String' @@ -240,6 +304,8 @@ FILE fqName: fileName:/delegatedImplementation.kt receiver: GET_VAR 'this@Test2: Test2' type=Test2 origin=null PROPERTY DELEGATED_MEMBER name:z2 type:kotlin.Int visibility:public modality:OPEN flags:var FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:Test2, $receiver:kotlin.Byte) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IOther, $receiver:kotlin.Byte) returnType:Int flags: $this: VALUE_PARAMETER name: type:Test2 flags: $receiver: VALUE_PARAMETER name: type:kotlin.Byte flags: BLOCK_BODY @@ -249,6 +315,8 @@ FILE fqName: fileName:/delegatedImplementation.kt 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:Unit flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IOther, $receiver:kotlin.Byte, :kotlin.Int) returnType: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: @@ -260,6 +328,8 @@ FILE fqName: fileName:/delegatedImplementation.kt : GET_VAR 'value-parameter : Int' type=kotlin.Int origin=null PROPERTY DELEGATED_MEMBER name:y type:kotlin.Int visibility:public modality:OPEN flags:var FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:Test2) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IOther) returnType:Int flags: $this: VALUE_PARAMETER name: type:Test2 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(): Int' @@ -267,6 +337,8 @@ FILE fqName: fileName:/delegatedImplementation.kt $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:Unit flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IOther, :kotlin.Int) returnType:Unit flags: $this: VALUE_PARAMETER name: type:Test2 flags: VALUE_PARAMETER name: index:0 type:kotlin.Int flags: BLOCK_BODY @@ -275,10 +347,19 @@ FILE fqName: fileName:/delegatedImplementation.kt 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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 9e4e9f71902..d06f4dc94e7 100644 --- a/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.txt +++ b/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.txt @@ -6,11 +6,17 @@ FILE fqName: fileName:/delegatedImplementationWithExplicitOverride.kt FUN name:bar visibility:public modality:ABSTRACT <> ($this:IFooBar) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS OBJECT name:FooBarImpl modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:FooBarImpl flags: @@ -19,17 +25,27 @@ FILE fqName: fileName:/delegatedImplementationWithExplicitOverride.kt DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' INSTANCE_INITIALIZER_CALL classDescriptor='FooBarImpl' FUN name:foo visibility:public modality:OPEN <> ($this:FooBarImpl) returnType:Unit flags: + overridden: + FUN name:foo visibility:public modality:ABSTRACT <> ($this:IFooBar) returnType:Unit flags: $this: VALUE_PARAMETER name: type:FooBarImpl flags: BLOCK_BODY FUN name:bar visibility:public modality:OPEN <> ($this:FooBarImpl) returnType:Unit flags: + overridden: + FUN name:bar visibility:public modality:ABSTRACT <> ($this:IFooBar) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:C modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:C flags: @@ -41,19 +57,29 @@ FILE fqName: fileName:/delegatedImplementationWithExplicitOverride.kt EXPRESSION_BODY GET_OBJECT 'FooBarImpl' type=FooBarImpl FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:C) returnType:Unit flags: + overridden: + FUN name:foo visibility:public modality:ABSTRACT <> ($this:IFooBar) returnType: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:Unit flags: + overridden: + FUN name:bar visibility:public modality:ABSTRACT <> ($this:IFooBar) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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 9bea0a74fb3..fbdf9d8d752 100644 --- a/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.txt +++ b/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.txt @@ -18,11 +18,17 @@ FILE fqName: fileName:/delegatingConstructorCallToTypeAliasConstructor.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: TYPEALIAS typealias CT = Cell type=Cell TYPEALIAS typealias CStr = Cell type=Cell @@ -36,13 +42,21 @@ FILE fqName: fileName:/delegatingConstructorCallToTypeAliasConstructor.kt INSTANCE_INITIALIZER_CALL classDescriptor='C1' PROPERTY FAKE_OVERRIDE name:value type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:Cell) returnType:String flags: + 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:C2 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:C2 flags: @@ -54,12 +68,20 @@ FILE fqName: fileName:/delegatingConstructorCallToTypeAliasConstructor.kt INSTANCE_INITIALIZER_CALL classDescriptor='C2' PROPERTY FAKE_OVERRIDE name:value type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:Cell) returnType:String flags: + 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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 b2ed522a22d..ceb3bec28e9 100644 --- a/compiler/testData/ir/irText/classes/delegatingConstructorCallsInSecondaryConstructors.txt +++ b/compiler/testData/ir/irText/classes/delegatingConstructorCallsInSecondaryConstructors.txt @@ -6,11 +6,17 @@ FILE fqName: fileName:/delegatingConstructorCallsInSecondaryConstructors.k 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test flags: @@ -28,10 +34,16 @@ FILE fqName: fileName:/delegatingConstructorCallsInSecondaryConstructors.k BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'constructor Test()' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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 99ad25a6e3c..708adc98c6e 100644 --- a/compiler/testData/ir/irText/classes/enum.txt +++ b/compiler/testData/ir/irText/classes/enum.txt @@ -11,26 +11,44 @@ FILE fqName: fileName:/enum.kt ENUM_ENTRY name:TEST2 init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum1()' FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:Any flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> () returnType: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:Unit flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> () returnType: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<(TestEnum1..TestEnum1?)>..java.lang.Class<(TestEnum1..TestEnum1?)>?) flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> () returnType:(java.lang.Class<(E..E?)>..java.lang.Class<(E..E?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum1) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> (other:E) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> (other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:Array flags: SYNTHETIC_BODY kind=ENUM_VALUES @@ -65,26 +83,44 @@ FILE fqName: fileName:/enum.kt init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum2(Int)' x: CONST Int type=kotlin.Int value=3 FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:Any flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> () returnType: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:Unit flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> () returnType: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<(TestEnum2..TestEnum2?)>..java.lang.Class<(TestEnum2..TestEnum2?)>?) flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> () returnType:(java.lang.Class<(E..E?)>..java.lang.Class<(E..E?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum2) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> (other:E) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> (other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:Array flags: SYNTHETIC_BODY kind=ENUM_VALUES @@ -107,55 +143,93 @@ FILE fqName: fileName:/enum.kt ENUM_CONSTRUCTOR_CALL 'constructor TestEnum3()' INSTANCE_INITIALIZER_CALL classDescriptor='TEST' FUN name:foo visibility:public modality:OPEN <> ($this:TestEnum3.TEST) returnType:Unit flags: + overridden: + FUN name:foo visibility:public modality:ABSTRACT <> ($this:TestEnum3) returnType:Unit flags: $this: VALUE_PARAMETER name: type:TestEnum3.TEST flags: BLOCK_BODY CALL 'println(Any?): Unit' 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:Any flags: + overridden: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType: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:Unit flags: + overridden: + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType: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<(TestEnum3..TestEnum3?)>..java.lang.Class<(TestEnum3..TestEnum3?)>?) flags: + overridden: + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:(java.lang.Class<(TestEnum3..TestEnum3?)>..java.lang.Class<(TestEnum3..TestEnum3?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum3) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum3) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN name:foo visibility:public modality:ABSTRACT <> ($this:TestEnum3) returnType:Unit flags: $this: VALUE_PARAMETER name: type:TestEnum3 flags: FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:Any flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> () returnType: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:Unit flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> () returnType: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<(TestEnum3..TestEnum3?)>..java.lang.Class<(TestEnum3..TestEnum3?)>?) flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> () returnType:(java.lang.Class<(E..E?)>..java.lang.Class<(E..E?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum3) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> (other:E) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> (other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:Array flags: SYNTHETIC_BODY kind=ENUM_VALUES @@ -190,34 +264,56 @@ FILE fqName: fileName:/enum.kt x: CONST Int type=kotlin.Int value=1 INSTANCE_INITIALIZER_CALL classDescriptor='TEST1' FUN name:foo visibility:public modality:OPEN <> ($this:TestEnum4.TEST1) returnType:Unit flags: + overridden: + FUN name:foo visibility:public modality:ABSTRACT <> ($this:TestEnum4) returnType: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:Any flags: + overridden: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType: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:Unit flags: + overridden: + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType: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<(TestEnum4..TestEnum4?)>..java.lang.Class<(TestEnum4..TestEnum4?)>?) flags: + overridden: + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:(java.lang.Class<(TestEnum4..TestEnum4?)>..java.lang.Class<(TestEnum4..TestEnum4?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum4) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum4) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:x type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:TestEnum4) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:TestEnum4) returnType:Int flags: $this: VALUE_PARAMETER name: type:TestEnum4 flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: ENUM_ENTRY name:TEST2 init: ENUM_CONSTRUCTOR_CALL 'constructor TEST2()' @@ -243,58 +339,98 @@ FILE fqName: fileName:/enum.kt 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:Unit flags: + overridden: + FUN name:foo visibility:public modality:ABSTRACT <> ($this:TestEnum4) returnType: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:Any flags: + overridden: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType: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:Unit flags: + overridden: + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType: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<(TestEnum4..TestEnum4?)>..java.lang.Class<(TestEnum4..TestEnum4?)>?) flags: + overridden: + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:(java.lang.Class<(TestEnum4..TestEnum4?)>..java.lang.Class<(TestEnum4..TestEnum4?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum4) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum4) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:x type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:TestEnum4) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:TestEnum4) returnType:Int flags: $this: VALUE_PARAMETER name: type:TestEnum4 flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN name:foo visibility:public modality:ABSTRACT <> ($this:TestEnum4) returnType:Unit flags: $this: VALUE_PARAMETER name: type:TestEnum4 flags: FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:Any flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> () returnType: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:Unit flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> () returnType: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<(TestEnum4..TestEnum4?)>..java.lang.Class<(TestEnum4..TestEnum4?)>?) flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> () returnType:(java.lang.Class<(E..E?)>..java.lang.Class<(E..E?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum4) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> (other:E) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> (other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:Array flags: SYNTHETIC_BODY kind=ENUM_VALUES @@ -329,26 +465,44 @@ FILE fqName: fileName:/enum.kt init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum5(Int = ...)' x: CONST Int type=kotlin.Int value=0 FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:Any flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> () returnType: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:Unit flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> () returnType: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<(TestEnum5..TestEnum5?)>..java.lang.Class<(TestEnum5..TestEnum5?)>?) flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> () returnType:(java.lang.Class<(E..E?)>..java.lang.Class<(E..E?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:TestEnum5) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> (other:E) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> (other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:Array flags: SYNTHETIC_BODY kind=ENUM_VALUES diff --git a/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.txt b/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.txt index 56b904626e5..6e400af4cc5 100644 --- a/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.txt +++ b/compiler/testData/ir/irText/classes/enumWithSecondaryCtor.txt @@ -24,26 +24,44 @@ FILE fqName: fileName:/enumWithSecondaryCtor.kt DELEGATING_CONSTRUCTOR_CALL 'constructor Test0(Int)' x: CONST Int type=kotlin.Int value=0 FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:Any flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> () returnType: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:Unit flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> () returnType: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<(Test0..Test0?)>..java.lang.Class<(Test0..Test0?)>?) flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> () returnType:(java.lang.Class<(E..E?)>..java.lang.Class<(E..E?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Test0) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> (other:E) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> (other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:Array flags: SYNTHETIC_BODY kind=ENUM_VALUES @@ -78,26 +96,44 @@ FILE fqName: fileName:/enumWithSecondaryCtor.kt DELEGATING_CONSTRUCTOR_CALL 'constructor Test1(Int)' x: CONST Int type=kotlin.Int value=0 FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:Any flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> () returnType: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:Unit flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> () returnType: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<(Test1..Test1?)>..java.lang.Class<(Test1..Test1?)>?) flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> () returnType:(java.lang.Class<(E..E?)>..java.lang.Class<(E..E?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Test1) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> (other:E) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> (other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:Array flags: SYNTHETIC_BODY kind=ENUM_VALUES @@ -131,34 +167,56 @@ FILE fqName: fileName:/enumWithSecondaryCtor.kt ENUM_CONSTRUCTOR_CALL 'constructor Test2()' INSTANCE_INITIALIZER_CALL classDescriptor='ZERO' FUN name:foo visibility:public modality:OPEN <> ($this:Test2.ZERO) returnType:Unit flags: + overridden: + FUN name:foo visibility:public modality:ABSTRACT <> ($this:Test2) returnType:Unit flags: $this: VALUE_PARAMETER name: type:Test2.ZERO flags: BLOCK_BODY CALL 'println(Any?): Unit' 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:Any flags: + overridden: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType: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:Unit flags: + overridden: + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType: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<(Test2..Test2?)>..java.lang.Class<(Test2..Test2?)>?) flags: + overridden: + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:(java.lang.Class<(Test2..Test2?)>..java.lang.Class<(Test2..Test2?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Test2) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Test2) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:x type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:Test2) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test2) returnType:Int flags: $this: VALUE_PARAMETER name: type:Test2 flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: ENUM_ENTRY name:ONE init: ENUM_CONSTRUCTOR_CALL 'constructor ONE()' @@ -170,34 +228,56 @@ FILE fqName: fileName:/enumWithSecondaryCtor.kt x: CONST Int type=kotlin.Int value=1 INSTANCE_INITIALIZER_CALL classDescriptor='ONE' FUN name:foo visibility:public modality:OPEN <> ($this:Test2.ONE) returnType:Unit flags: + overridden: + FUN name:foo visibility:public modality:ABSTRACT <> ($this:Test2) returnType:Unit flags: $this: VALUE_PARAMETER name: type:Test2.ONE flags: BLOCK_BODY CALL 'println(Any?): Unit' 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:Any flags: + overridden: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType: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:Unit flags: + overridden: + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType: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<(Test2..Test2?)>..java.lang.Class<(Test2..Test2?)>?) flags: + overridden: + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:(java.lang.Class<(Test2..Test2?)>..java.lang.Class<(Test2..Test2?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Test2) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Test2) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:x type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:Test2) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test2) returnType:Int flags: $this: VALUE_PARAMETER name: type:Test2 flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: CONSTRUCTOR visibility:private <> () returnType:Test2 flags: BLOCK_BODY @@ -206,26 +286,44 @@ FILE fqName: fileName:/enumWithSecondaryCtor.kt FUN name:foo visibility:public modality:ABSTRACT <> ($this:Test2) returnType:Unit flags: $this: VALUE_PARAMETER name: type:Test2 flags: FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:Any flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> () returnType: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:Unit flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> () returnType: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<(Test2..Test2?)>..java.lang.Class<(Test2..Test2?)>?) flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> () returnType:(java.lang.Class<(E..E?)>..java.lang.Class<(E..E?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Test2) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> (other:E) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> (other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:Array flags: SYNTHETIC_BODY kind=ENUM_VALUES diff --git a/compiler/testData/ir/irText/classes/initBlock.txt b/compiler/testData/ir/irText/classes/initBlock.txt index 6e715d7771c..2ca5f1ec649 100644 --- a/compiler/testData/ir/irText/classes/initBlock.txt +++ b/compiler/testData/ir/irText/classes/initBlock.txt @@ -9,11 +9,17 @@ FILE fqName: fileName:/initBlock.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test2 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test2 flags: @@ -36,11 +42,17 @@ FILE fqName: fileName:/initBlock.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test3 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test3 flags: @@ -52,11 +64,17 @@ FILE fqName: fileName:/initBlock.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test4 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test4 flags: @@ -73,11 +91,17 @@ FILE fqName: fileName:/initBlock.kt CALL 'println(Any?): Unit' 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test5 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test5 flags: @@ -101,17 +125,29 @@ FILE fqName: fileName:/initBlock.kt CALL 'println(Any?): Unit' 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 c3de6ade593..122f1f349cf 100644 --- a/compiler/testData/ir/irText/classes/initVal.txt +++ b/compiler/testData/ir/irText/classes/initVal.txt @@ -17,11 +17,17 @@ FILE fqName: fileName:/initVal.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:TestInitValInClass modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestInitValInClass flags: @@ -40,11 +46,17 @@ FILE fqName: fileName:/initVal.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:TestInitValInInitBlock modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestInitValInInitBlock flags: @@ -66,10 +78,16 @@ FILE fqName: fileName:/initVal.kt receiver: GET_VAR 'this@TestInitValInInitBlock: TestInitValInInitBlock' type=TestInitValInInitBlock origin=null value: CONST Int type=kotlin.Int value=0 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 384cb1a827a..1568f9c1b69 100644 --- a/compiler/testData/ir/irText/classes/initVar.txt +++ b/compiler/testData/ir/irText/classes/initVar.txt @@ -24,11 +24,17 @@ FILE fqName: fileName:/initVar.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:TestInitVarInClass modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestInitVarInClass flags: @@ -54,11 +60,17 @@ FILE fqName: fileName:/initVar.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:TestInitVarInInitBlock modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestInitVarInInitBlock flags: @@ -87,11 +99,17 @@ FILE fqName: fileName:/initVar.kt $this: GET_VAR 'this@TestInitVarInInitBlock: TestInitVarInInitBlock' type=TestInitVarInInitBlock origin=null : CONST Int type=kotlin.Int value=0 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:TestInitVarWithCustomSetter modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestInitVarWithCustomSetter flags: @@ -117,11 +135,17 @@ FILE fqName: fileName:/initVar.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:TestInitVarWithCustomSetterWithExplicitCtor modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestInitVarWithCustomSetterWithExplicitCtor flags: @@ -150,11 +174,17 @@ FILE fqName: fileName:/initVar.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:TestInitVarWithCustomSetterInCtor modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestInitVarWithCustomSetterInCtor flags: @@ -181,10 +211,16 @@ FILE fqName: fileName:/initVar.kt $this: GET_VAR 'this@TestInitVarWithCustomSetterInCtor: TestInitVarWithCustomSetterInCtor' type=TestInitVarWithCustomSetterInCtor origin=null value: CONST Int type=kotlin.Int value=42 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: diff --git a/compiler/testData/ir/irText/classes/innerClass.txt b/compiler/testData/ir/irText/classes/innerClass.txt index 18e3711eb81..21bff190155 100644 --- a/compiler/testData/ir/irText/classes/innerClass.txt +++ b/compiler/testData/ir/irText/classes/innerClass.txt @@ -13,11 +13,17 @@ FILE fqName: fileName:/innerClass.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:DerivedInnerClass modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Outer.DerivedInnerClass flags: @@ -28,17 +34,29 @@ FILE fqName: fileName:/innerClass.kt $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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 e25cb2e5a5a..90f43c4d007 100644 --- a/compiler/testData/ir/irText/classes/innerClassWithDelegatingConstructor.txt +++ b/compiler/testData/ir/irText/classes/innerClassWithDelegatingConstructor.txt @@ -30,17 +30,29 @@ FILE fqName: fileName:/innerClassWithDelegatingConstructor.kt $this: GET_VAR 'this@Outer: Outer' 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 3a77ccdbe92..5889fad9514 100644 --- a/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.txt +++ b/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.txt @@ -42,6 +42,8 @@ FILE fqName: fileName:/lambdaInDataClassDefaultParameter.kt CALL 'constructor A(A.(String) -> Unit = ...)' type=A origin=null runA: GET_VAR 'value-parameter runA: A.(String) -> Unit = ...' type=A.(kotlin.String) -> kotlin.Unit origin=null FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:A) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:A flags: BLOCK_BODY RETURN type=kotlin.Nothing from='toString(): String' @@ -52,6 +54,8 @@ FILE fqName: fileName:/lambdaInDataClassDefaultParameter.kt $this: GET_VAR 'this@A: A' type=A origin=null CONST String type=kotlin.String value=) FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:A) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:A flags: BLOCK_BODY VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var @@ -63,6 +67,8 @@ FILE fqName: fileName:/lambdaInDataClassDefaultParameter.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:A flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: BLOCK_BODY @@ -107,11 +113,17 @@ FILE fqName: fileName:/lambdaInDataClassDefaultParameter.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CALL 'constructor ()' type=B.. origin=OBJECT_LITERAL BLOCK_BODY @@ -144,6 +156,8 @@ FILE fqName: fileName:/lambdaInDataClassDefaultParameter.kt 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:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:B flags: BLOCK_BODY RETURN type=kotlin.Nothing from='toString(): String' @@ -154,6 +168,8 @@ FILE fqName: fileName:/lambdaInDataClassDefaultParameter.kt $this: GET_VAR 'this@B: B' type=B origin=null CONST String type=kotlin.String value=) FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:B) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:B flags: BLOCK_BODY VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var @@ -165,6 +181,8 @@ FILE fqName: fileName:/lambdaInDataClassDefaultParameter.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:B flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: BLOCK_BODY diff --git a/compiler/testData/ir/irText/classes/localClasses.txt b/compiler/testData/ir/irText/classes/localClasses.txt index cedf20b5683..92ceb40d964 100644 --- a/compiler/testData/ir/irText/classes/localClasses.txt +++ b/compiler/testData/ir/irText/classes/localClasses.txt @@ -11,11 +11,17 @@ FILE fqName: fileName:/localClasses.kt $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 diff --git a/compiler/testData/ir/irText/classes/objectLiteralExpressions.txt b/compiler/testData/ir/irText/classes/objectLiteralExpressions.txt index 4da0f9c786b..500082f8cd9 100644 --- a/compiler/testData/ir/irText/classes/objectLiteralExpressions.txt +++ b/compiler/testData/ir/irText/classes/objectLiteralExpressions.txt @@ -4,11 +4,17 @@ FILE fqName: fileName:/objectLiteralExpressions.kt FUN name:foo visibility:public modality:ABSTRACT <> ($this:IFoo) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: PROPERTY name:test1 type:kotlin.Any visibility:public modality:FINAL flags:val FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Any visibility:public @@ -21,11 +27,17 @@ FILE fqName: fileName:/objectLiteralExpressions.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Any flags: @@ -43,16 +55,24 @@ FILE fqName: fileName:/objectLiteralExpressions.kt DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' INSTANCE_INITIALIZER_CALL classDescriptor='' FUN name:foo visibility:public modality:OPEN <> ($this:test2.) returnType:Unit flags: + overridden: + FUN name:foo visibility:public modality:ABSTRACT <> ($this:IFoo) returnType:Unit flags: $this: VALUE_PARAMETER name: type:test2. flags: BLOCK_BODY CALL 'println(Any?): Unit' 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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: @@ -73,13 +93,21 @@ FILE fqName: fileName:/objectLiteralExpressions.kt DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' INSTANCE_INITIALIZER_CALL classDescriptor='Inner' FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:IFoo) returnType:Unit flags: + overridden: + FUN name:foo visibility:public modality:ABSTRACT <> ($this:IFoo) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test3 visibility:public modality:FINAL <> ($this:Outer) returnType:Inner flags: $this: VALUE_PARAMETER name: type:Outer flags: @@ -94,24 +122,38 @@ FILE fqName: fileName:/objectLiteralExpressions.kt $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:Unit flags: + overridden: + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:IFoo) returnType:Unit flags: $this: VALUE_PARAMETER name: type:Outer.test3. flags: BLOCK_BODY CALL 'println(Any?): Unit' 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test4 visibility:public modality:FINAL <> ($receiver:Outer) returnType:Inner flags: $receiver: VALUE_PARAMETER name: type:Outer flags: @@ -126,16 +168,24 @@ FILE fqName: fileName:/objectLiteralExpressions.kt $this: GET_VAR 'this@test4: Outer' type=Outer origin=null INSTANCE_INITIALIZER_CALL classDescriptor='' FUN name:foo visibility:public modality:OPEN <> ($this:test4.) returnType:Unit flags: + overridden: + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:IFoo) returnType:Unit flags: $this: VALUE_PARAMETER name: type:test4. flags: BLOCK_BODY CALL 'println(Any?): Unit' 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CALL 'constructor ()' type=test4. origin=OBJECT_LITERAL diff --git a/compiler/testData/ir/irText/classes/objectWithInitializers.txt b/compiler/testData/ir/irText/classes/objectWithInitializers.txt index d30e14604f0..077c9b9f812 100644 --- a/compiler/testData/ir/irText/classes/objectWithInitializers.txt +++ b/compiler/testData/ir/irText/classes/objectWithInitializers.txt @@ -6,11 +6,17 @@ FILE fqName: fileName:/objectWithInitializers.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS OBJECT name:Test modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test flags: @@ -43,10 +49,16 @@ FILE fqName: fileName:/objectWithInitializers.kt 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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 2adf336940b..f50259c7eb4 100644 --- a/compiler/testData/ir/irText/classes/outerClassAccess.txt +++ b/compiler/testData/ir/irText/classes/outerClassAccess.txt @@ -41,24 +41,42 @@ FILE fqName: fileName:/outerClassAccess.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 64b3cb18ff1..cd72bf1b50c 100644 --- a/compiler/testData/ir/irText/classes/primaryConstructor.txt +++ b/compiler/testData/ir/irText/classes/primaryConstructor.txt @@ -28,11 +28,17 @@ FILE fqName: fileName:/primaryConstructor.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test2 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test2 flags: @@ -63,11 +69,17 @@ FILE fqName: fileName:/primaryConstructor.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test3 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test3 flags: @@ -101,10 +113,16 @@ FILE fqName: fileName:/primaryConstructor.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 2487dc5bcfb..5fce6859280 100644 --- a/compiler/testData/ir/irText/classes/primaryConstructorWithSuperConstructorCall.txt +++ b/compiler/testData/ir/irText/classes/primaryConstructorWithSuperConstructorCall.txt @@ -6,11 +6,17 @@ FILE fqName: fileName:/primaryConstructorWithSuperConstructorCall.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:TestImplicitPrimaryConstructor modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestImplicitPrimaryConstructor flags: @@ -19,11 +25,17 @@ FILE fqName: fileName:/primaryConstructorWithSuperConstructorCall.kt 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:TestExplicitPrimaryConstructor modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestExplicitPrimaryConstructor flags: @@ -32,11 +44,17 @@ FILE fqName: fileName:/primaryConstructorWithSuperConstructorCall.kt 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:TestWithDelegatingConstructor modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestWithDelegatingConstructor flags: @@ -73,10 +91,16 @@ FILE fqName: fileName:/primaryConstructorWithSuperConstructorCall.kt x: GET_VAR 'value-parameter x: Int' 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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 0e951cc206a..560a16e67ee 100644 --- a/compiler/testData/ir/irText/classes/qualifiedSuperCalls.txt +++ b/compiler/testData/ir/irText/classes/qualifiedSuperCalls.txt @@ -11,11 +11,17 @@ FILE fqName: fileName:/qualifiedSuperCalls.kt RETURN type=kotlin.Nothing from='(): Int' CONST Int type=kotlin.Int value=1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS INTERFACE name:IRight modality:ABSTRACT visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:IRight flags: @@ -29,11 +35,17 @@ FILE fqName: fileName:/qualifiedSuperCalls.kt RETURN type=kotlin.Nothing from='(): Int' CONST Int type=kotlin.Int value=2 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:CBoth modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:CBoth flags: @@ -42,6 +54,9 @@ FILE fqName: fileName:/qualifiedSuperCalls.kt DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' INSTANCE_INITIALIZER_CALL classDescriptor='CBoth' FUN name:foo visibility:public modality:OPEN <> ($this:CBoth) returnType:Unit flags: + overridden: + FUN name:foo visibility:public modality:OPEN <> ($this:ILeft) returnType:Unit flags: + FUN name:foo visibility:public modality:OPEN <> ($this:IRight) returnType:Unit flags: $this: VALUE_PARAMETER name: type:CBoth flags: BLOCK_BODY CALL 'foo(): Unit' superQualifier=ILeft type=kotlin.Unit origin=null @@ -50,6 +65,9 @@ FILE fqName: fileName:/qualifiedSuperCalls.kt $this: GET_VAR 'this@CBoth: CBoth' type=CBoth origin=null PROPERTY name:bar type:kotlin.Int visibility:public modality:OPEN flags:val FUN name: visibility:public modality:OPEN <> ($this:CBoth) returnType:Int flags: + overridden: + FUN name: visibility:public modality:OPEN <> ($this:ILeft) returnType:Int flags: + FUN name: visibility:public modality:OPEN <> ($this:IRight) returnType:Int flags: $this: VALUE_PARAMETER name: type:CBoth flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(): Int' @@ -59,10 +77,19 @@ FILE fqName: fileName:/qualifiedSuperCalls.kt other: CALL '(): Int' superQualifier=IRight type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'this@CBoth: CBoth' type=CBoth origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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 28f1a95034b..bc93ae19c10 100644 --- a/compiler/testData/ir/irText/classes/sealedClasses.txt +++ b/compiler/testData/ir/irText/classes/sealedClasses.txt @@ -23,11 +23,17 @@ FILE fqName: fileName:/sealedClasses.kt 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Sum modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Expr.Sum flags: @@ -58,11 +64,17 @@ FILE fqName: fileName:/sealedClasses.kt 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS OBJECT name:NotANumber modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Expr.NotANumber flags: @@ -71,17 +83,29 @@ FILE fqName: fileName:/sealedClasses.kt 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 a5b16acaef1..f85777af86a 100644 --- a/compiler/testData/ir/irText/classes/secondaryConstructorWithInitializersFromClassBody.txt +++ b/compiler/testData/ir/irText/classes/secondaryConstructorWithInitializersFromClassBody.txt @@ -6,11 +6,17 @@ FILE fqName: fileName:/secondaryConstructorWithInitializersFromClassBody.k 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:TestProperty modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestProperty flags: @@ -29,11 +35,17 @@ FILE fqName: fileName:/secondaryConstructorWithInitializersFromClassBody.k 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:TestInitBlock modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestInitBlock flags: @@ -64,10 +76,16 @@ FILE fqName: fileName:/secondaryConstructorWithInitializersFromClassBody.k BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'constructor TestInitBlock()' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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 832339c1105..89ac8bed069 100644 --- a/compiler/testData/ir/irText/classes/secondaryConstructors.txt +++ b/compiler/testData/ir/irText/classes/secondaryConstructors.txt @@ -11,10 +11,16 @@ FILE fqName: fileName:/secondaryConstructors.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 603c4b0290b..f2d5dd3af03 100644 --- a/compiler/testData/ir/irText/classes/superCalls.txt +++ b/compiler/testData/ir/irText/classes/superCalls.txt @@ -19,11 +19,17 @@ FILE fqName: fileName:/superCalls.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Derived modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Derived flags: @@ -32,22 +38,32 @@ FILE fqName: fileName:/superCalls.kt DELEGATING_CONSTRUCTOR_CALL 'constructor Base()' INSTANCE_INITIALIZER_CALL classDescriptor='Derived' FUN name:foo visibility:public modality:OPEN <> ($this:Derived) returnType:Unit flags: + overridden: + FUN name:foo visibility:public modality:OPEN <> ($this:Base) returnType: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=Derived origin=null PROPERTY name:bar type:kotlin.String visibility:public modality:OPEN flags:val FUN name: visibility:public modality:OPEN <> ($this:Derived) returnType:String flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:Base) returnType: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=Derived origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: diff --git a/compiler/testData/ir/irText/declarations/classLevelProperties.txt b/compiler/testData/ir/irText/declarations/classLevelProperties.txt index fbadc1f6e82..7f5deff5793 100644 --- a/compiler/testData/ir/irText/declarations/classLevelProperties.txt +++ b/compiler/testData/ir/irText/declarations/classLevelProperties.txt @@ -133,10 +133,16 @@ FILE fqName: fileName:/classLevelProperties.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: diff --git a/compiler/testData/ir/irText/declarations/delegatedProperties.txt b/compiler/testData/ir/irText/declarations/delegatedProperties.txt index d1835ddc87c..4eb18faff2c 100644 --- a/compiler/testData/ir/irText/declarations/delegatedProperties.txt +++ b/compiler/testData/ir/irText/declarations/delegatedProperties.txt @@ -85,11 +85,17 @@ FILE fqName: fileName:/delegatedProperties.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: PROPERTY name:test4 type:kotlin.Any visibility:public modality:FINAL flags:delegatedmvar FIELD DELEGATE name:test4$delegate type:kotlin.collections.HashMap /* = java.util.HashMap */ visibility:private diff --git a/compiler/testData/ir/irText/declarations/extensionProperties.txt b/compiler/testData/ir/irText/declarations/extensionProperties.txt index a07941a64ab..7ef0dbfb82c 100644 --- a/compiler/testData/ir/irText/declarations/extensionProperties.txt +++ b/compiler/testData/ir/irText/declarations/extensionProperties.txt @@ -41,10 +41,16 @@ FILE fqName: fileName:/extensionProperties.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 f613acb837c..f8f92ac3663 100644 --- a/compiler/testData/ir/irText/declarations/fakeOverrides.txt +++ b/compiler/testData/ir/irText/declarations/fakeOverrides.txt @@ -5,11 +5,17 @@ FILE fqName: fileName:/fakeOverrides.kt $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS INTERFACE name:IBar modality:ABSTRACT visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:IBar flags: @@ -17,11 +23,17 @@ FILE fqName: fileName:/fakeOverrides.kt FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IBar) returnType:Int flags: $this: VALUE_PARAMETER name: type:IBar flags: FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:CFoo modality:ABSTRACT visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:CFoo flags: @@ -35,11 +47,17 @@ FILE fqName: fileName:/fakeOverrides.kt VALUE_PARAMETER name:x index:0 type:T flags: BLOCK_BODY FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test1 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test1 flags: @@ -53,19 +71,36 @@ FILE fqName: fileName:/fakeOverrides.kt EXPRESSION_BODY CONST Int type=kotlin.Int value=42 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:Test1) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IBar) returnType: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:Unit flags: + overridden: + FUN name:foo visibility:public modality:FINAL <> ($this:CFoo, x:T) returnType:Unit flags: + FUN name:foo visibility:public modality:ABSTRACT <> ($this:IFooStr, x:kotlin.String) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: diff --git a/compiler/testData/ir/irText/declarations/interfaceProperties.txt b/compiler/testData/ir/irText/declarations/interfaceProperties.txt index bf0c7b0f088..3efe22bfd29 100644 --- a/compiler/testData/ir/irText/declarations/interfaceProperties.txt +++ b/compiler/testData/ir/irText/declarations/interfaceProperties.txt @@ -27,10 +27,16 @@ FILE fqName: fileName:/interfaceProperties.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: diff --git a/compiler/testData/ir/irText/declarations/localDelegatedPropertyWithSuspendOperators.txt b/compiler/testData/ir/irText/declarations/localDelegatedPropertyWithSuspendOperators.txt index 49a3decd14c..afd99727464 100644 --- a/compiler/testData/ir/irText/declarations/localDelegatedPropertyWithSuspendOperators.txt +++ b/compiler/testData/ir/irText/declarations/localDelegatedPropertyWithSuspendOperators.txt @@ -71,11 +71,17 @@ FILE fqName: fileName:/localDelegatedPropertyWithSuspendOperators.kt CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY FUNCTION_REFERENCE '(Continuation): Any' type=(kotlin.coroutines.experimental.Continuation) -> kotlin.Any origin=LAMBDA FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test visibility:public modality:FINAL <> () returnType:Unit flags:suspend BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/class.txt b/compiler/testData/ir/irText/declarations/parameters/class.txt index 87d69073e99..0cd6d9877f3 100644 --- a/compiler/testData/ir/irText/declarations/parameters/class.txt +++ b/compiler/testData/ir/irText/declarations/parameters/class.txt @@ -6,18 +6,30 @@ FILE fqName: fileName:/class.kt $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:TestInterface.TestNestedInterface flags: TYPE_PARAMETER name:TT index:0 variance: upperBounds:[kotlin.Any?] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test flags: @@ -34,11 +46,17 @@ FILE fqName: fileName:/class.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:TestInner modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test.TestInner flags: @@ -49,17 +67,29 @@ FILE fqName: fileName:/class.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 d2b77756811..c215039dce0 100644 --- a/compiler/testData/ir/irText/declarations/parameters/constructor.txt +++ b/compiler/testData/ir/irText/declarations/parameters/constructor.txt @@ -30,11 +30,17 @@ FILE fqName: fileName:/constructor.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test2 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test2 flags: @@ -83,18 +89,30 @@ FILE fqName: fileName:/constructor.kt $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test3 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test3 flags: @@ -127,11 +145,17 @@ FILE fqName: fileName:/constructor.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test4 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test4 flags: @@ -163,10 +187,16 @@ FILE fqName: fileName:/constructor.kt $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 d91e8e1798c..96bdc176ad5 100644 --- a/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.txt +++ b/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.txt @@ -59,6 +59,8 @@ FILE fqName: fileName:/dataClassMembers.kt 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:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:Test flags: BLOCK_BODY RETURN type=kotlin.Nothing from='toString(): String' @@ -73,6 +75,8 @@ FILE fqName: fileName:/dataClassMembers.kt $this: GET_VAR 'this@Test: Test' type=Test origin=null CONST String type=kotlin.String value=) FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:Test) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:Test flags: BLOCK_BODY VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var @@ -104,6 +108,8 @@ FILE fqName: fileName:/dataClassMembers.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:Test flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.txt b/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.txt index a7e835d1b74..7810e5c3695 100644 --- a/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.txt +++ b/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.txt @@ -54,11 +54,17 @@ FILE fqName: fileName:/defaultPropertyAccessors.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:InPrimaryCtor modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:InPrimaryCtor flags: @@ -99,10 +105,16 @@ FILE fqName: fileName:/defaultPropertyAccessors.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 148b8e06916..713ccb0a100 100644 --- a/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.txt +++ b/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.txt @@ -14,11 +14,17 @@ FILE fqName: fileName:/delegatedMembers.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test flags: @@ -32,6 +38,8 @@ FILE fqName: fileName:/delegatedMembers.kt 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:Unit flags: + overridden: + FUN name:qux visibility:public modality:ABSTRACT ($this:IBase, t:T, x:X) returnType:Unit flags: TYPE_PARAMETER name:X index:0 variance: upperBounds:[kotlin.Any?] $this: VALUE_PARAMETER name: type:Test flags: VALUE_PARAMETER name:t index:0 type:TT flags: @@ -45,6 +53,8 @@ FILE fqName: fileName:/delegatedMembers.kt x: TYPE_OP type=X origin=IMPLICIT_CAST typeOperand=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:Unit flags: + overridden: + FUN name:foo visibility:public modality:ABSTRACT <> ($this:IBase, x:kotlin.Int) returnType:Unit flags: $this: VALUE_PARAMETER name: type:Test flags: VALUE_PARAMETER name:x index:0 type:kotlin.Int flags: BLOCK_BODY @@ -54,6 +64,8 @@ FILE fqName: fileName:/delegatedMembers.kt x: GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null PROPERTY DELEGATED_MEMBER name:bar type:kotlin.Int visibility:public modality:OPEN flags:val FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:Test) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:IBase) returnType:Int flags: $this: VALUE_PARAMETER name: type:Test flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(): Int' @@ -61,10 +73,16 @@ FILE fqName: fileName:/delegatedMembers.kt $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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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 d3b9e397a92..b85cd2e9f34 100644 --- a/compiler/testData/ir/irText/declarations/parameters/fun.txt +++ b/compiler/testData/ir/irText/declarations/parameters/fun.txt @@ -40,10 +40,16 @@ FILE fqName: fileName:/fun.kt VALUE_PARAMETER name:j index:1 type:T flags: BLOCK_BODY FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 28186b70c8a..776745543d9 100644 --- a/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.txt +++ b/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.txt @@ -20,17 +20,29 @@ FILE fqName: fileName:/genericInnerClass.kt VALUE_PARAMETER name:x2 index:1 type:T2 flags: BLOCK_BODY FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: diff --git a/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.txt b/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.txt index 94842c12312..5492fd79990 100644 --- a/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.txt +++ b/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.txt @@ -106,10 +106,16 @@ FILE fqName: fileName:/propertyAccessors.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 7f59de86c4c..ac844e1f1cc 100644 --- a/compiler/testData/ir/irText/declarations/primaryCtorDefaultArguments.txt +++ b/compiler/testData/ir/irText/declarations/primaryCtorDefaultArguments.txt @@ -19,10 +19,16 @@ FILE fqName: fileName:/primaryCtorDefaultArguments.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 0518f000153..903451a0f70 100644 --- a/compiler/testData/ir/irText/declarations/primaryCtorProperties.txt +++ b/compiler/testData/ir/irText/declarations/primaryCtorProperties.txt @@ -35,10 +35,16 @@ FILE fqName: fileName:/primaryCtorProperties.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 79ea932b427..ff58fe3fb68 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/differentReceivers.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/differentReceivers.txt @@ -17,11 +17,17 @@ FILE fqName: fileName:/differentReceivers.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:String flags: $receiver: VALUE_PARAMETER name: type:MyClass flags: diff --git a/compiler/testData/ir/irText/declarations/provideDelegate/local.txt b/compiler/testData/ir/irText/declarations/provideDelegate/local.txt index 9514f8f4aaa..e2abe7883ab 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/local.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/local.txt @@ -25,11 +25,17 @@ FILE fqName: fileName:/local.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:DelegateProvider flags: @@ -58,11 +64,17 @@ FILE fqName: fileName:/local.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:foo visibility:public modality:FINAL <> () returnType:Unit flags: BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/provideDelegate/localDifferentReceivers.txt b/compiler/testData/ir/irText/declarations/provideDelegate/localDifferentReceivers.txt index 6c281840a86..2575df0c049 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/localDifferentReceivers.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/localDifferentReceivers.txt @@ -17,11 +17,17 @@ FILE fqName: fileName:/localDifferentReceivers.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:String flags: $receiver: VALUE_PARAMETER name: type:MyClass flags: diff --git a/compiler/testData/ir/irText/declarations/provideDelegate/member.txt b/compiler/testData/ir/irText/declarations/provideDelegate/member.txt index 9e29faf89b8..44736f187cb 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/member.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/member.txt @@ -25,11 +25,17 @@ FILE fqName: fileName:/member.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:DelegateProvider flags: @@ -58,11 +64,17 @@ FILE fqName: fileName:/member.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Host modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Host flags: @@ -88,10 +100,16 @@ FILE fqName: fileName:/member.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 0e20c11c9c1..16198bb88ea 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/memberExtension.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/memberExtension.txt @@ -33,11 +33,17 @@ FILE fqName: fileName:/memberExtension.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:StringDelegate flags: $this: VALUE_PARAMETER name: type:Host flags: @@ -79,10 +85,16 @@ FILE fqName: fileName:/memberExtension.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 e7b6ef03beb..592ba04a49f 100644 --- a/compiler/testData/ir/irText/declarations/provideDelegate/topLevel.txt +++ b/compiler/testData/ir/irText/declarations/provideDelegate/topLevel.txt @@ -25,11 +25,17 @@ FILE fqName: fileName:/topLevel.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:DelegateProvider flags: @@ -58,11 +64,17 @@ FILE fqName: fileName:/topLevel.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: PROPERTY name:testTopLevel type:kotlin.String visibility:public modality:FINAL flags:delegatedmval FIELD DELEGATE name:testTopLevel$delegate type:Delegate visibility:private diff --git a/compiler/testData/ir/irText/declarations/typeAlias.txt b/compiler/testData/ir/irText/declarations/typeAlias.txt index 5856ec300f2..40724b6b577 100644 --- a/compiler/testData/ir/irText/declarations/typeAlias.txt +++ b/compiler/testData/ir/irText/declarations/typeAlias.txt @@ -11,10 +11,16 @@ FILE fqName: fileName:/typeAlias.kt INSTANCE_INITIALIZER_CALL classDescriptor='C' TYPEALIAS typealias TestNested = String type=kotlin.String FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 8be19778cbe..2cee3f01a03 100644 --- a/compiler/testData/ir/irText/errors/suppressedNonPublicCall.txt +++ b/compiler/testData/ir/irText/errors/suppressedNonPublicCall.txt @@ -9,11 +9,17 @@ FILE fqName: fileName:/suppressedNonPublicCall.kt $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:foo visibility:public modality:FINAL <> ($receiver:C) returnType:Unit flags:inline $receiver: VALUE_PARAMETER name: type:C flags: diff --git a/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment1.txt b/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment1.txt index d8e8344e62f..6360867dd55 100644 --- a/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment1.txt +++ b/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment1.txt @@ -29,11 +29,17 @@ FILE fqName: fileName:/arrayAugmentedAssignment1.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:testVariable visibility:public modality:FINAL <> () returnType:Unit flags: BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment2.txt b/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment2.txt index 490e3491c7f..404f2bb2ff1 100644 --- a/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment2.txt +++ b/compiler/testData/ir/irText/expressions/arrayAugmentedAssignment2.txt @@ -5,11 +5,17 @@ FILE fqName: fileName:/arrayAugmentedAssignment2.kt $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS INTERFACE name:IB modality:ABSTRACT visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:IB flags: @@ -19,11 +25,17 @@ FILE fqName: fileName:/arrayAugmentedAssignment2.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test visibility:public modality:FINAL <> ($receiver:IB, a:IA) returnType:Unit flags: $receiver: VALUE_PARAMETER name: type:IB flags: diff --git a/compiler/testData/ir/irText/expressions/assignments.txt b/compiler/testData/ir/irText/expressions/assignments.txt index 2eaeb3a473b..a7475faebad 100644 --- a/compiler/testData/ir/irText/expressions/assignments.txt +++ b/compiler/testData/ir/irText/expressions/assignments.txt @@ -24,11 +24,17 @@ FILE fqName: fileName:/assignments.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test1 visibility:public modality:FINAL <> () returnType:Unit flags: BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/augmentedAssignment2.txt b/compiler/testData/ir/irText/expressions/augmentedAssignment2.txt index 650e5a5ed12..301d8038a2e 100644 --- a/compiler/testData/ir/irText/expressions/augmentedAssignment2.txt +++ b/compiler/testData/ir/irText/expressions/augmentedAssignment2.txt @@ -6,11 +6,17 @@ FILE fqName: fileName:/augmentedAssignment2.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:plusAssign visibility:public modality:FINAL <> ($receiver:A, s:kotlin.String) returnType:Unit flags: $receiver: VALUE_PARAMETER name: type:A flags: diff --git a/compiler/testData/ir/irText/expressions/augmentedAssignmentWithExpression.txt b/compiler/testData/ir/irText/expressions/augmentedAssignmentWithExpression.txt index 21a1e3b562e..445125c7e8b 100644 --- a/compiler/testData/ir/irText/expressions/augmentedAssignmentWithExpression.txt +++ b/compiler/testData/ir/irText/expressions/augmentedAssignmentWithExpression.txt @@ -16,11 +16,17 @@ FILE fqName: fileName:/augmentedAssignmentWithExpression.kt $this: GET_VAR 'this@Host: Host' 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:foo visibility:public modality:FINAL <> () returnType:Host flags: BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/boundCallableReferences.txt b/compiler/testData/ir/irText/expressions/boundCallableReferences.txt index 2898de872cd..fc1e0e5df69 100644 --- a/compiler/testData/ir/irText/expressions/boundCallableReferences.txt +++ b/compiler/testData/ir/irText/expressions/boundCallableReferences.txt @@ -19,11 +19,17 @@ FILE fqName: fileName:/boundCallableReferences.kt GET_FIELD 'bar: Int' type=kotlin.Int origin=null receiver: GET_VAR 'this@A: A' type=A origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:qux visibility:public modality:FINAL <> ($receiver:A) returnType:Unit flags: $receiver: VALUE_PARAMETER name: type:A flags: diff --git a/compiler/testData/ir/irText/expressions/callableRefToGenericMember.txt b/compiler/testData/ir/irText/expressions/callableRefToGenericMember.txt index 8edbac592bb..0acced76931 100644 --- a/compiler/testData/ir/irText/expressions/callableRefToGenericMember.txt +++ b/compiler/testData/ir/irText/expressions/callableRefToGenericMember.txt @@ -20,11 +20,17 @@ FILE fqName: fileName:/callableRefToGenericMember.kt GET_FIELD 'bar: Int' type=kotlin.Int origin=null receiver: GET_VAR 'this@A: A' type=A origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: PROPERTY name:test1 type:kotlin.reflect.KFunction1, kotlin.Unit> visibility:public modality:FINAL flags:val FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.reflect.KFunction1, kotlin.Unit> visibility:public diff --git a/compiler/testData/ir/irText/expressions/callableReferenceToImportedFromObject.txt b/compiler/testData/ir/irText/expressions/callableReferenceToImportedFromObject.txt index c44afba3e3d..0d0e4d8cdf4 100644 --- a/compiler/testData/ir/irText/expressions/callableReferenceToImportedFromObject.txt +++ b/compiler/testData/ir/irText/expressions/callableReferenceToImportedFromObject.txt @@ -21,11 +21,17 @@ FILE fqName:test fileName:/callableReferenceToImportedFromObject.kt RETURN type=kotlin.Nothing from='foo(): String' CONST String type=kotlin.String value= FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: PROPERTY name:test1 type:kotlin.reflect.KProperty0 visibility:public modality:FINAL flags:val FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.reflect.KProperty0 visibility:public diff --git a/compiler/testData/ir/irText/expressions/chainOfSafeCalls.txt b/compiler/testData/ir/irText/expressions/chainOfSafeCalls.txt index aa6bb1a6f5b..e22b0ff741c 100644 --- a/compiler/testData/ir/irText/expressions/chainOfSafeCalls.txt +++ b/compiler/testData/ir/irText/expressions/chainOfSafeCalls.txt @@ -16,11 +16,17 @@ FILE fqName: fileName:/chainOfSafeCalls.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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: diff --git a/compiler/testData/ir/irText/expressions/classReference.txt b/compiler/testData/ir/irText/expressions/classReference.txt index d48e20e2a46..4c809012123 100644 --- a/compiler/testData/ir/irText/expressions/classReference.txt +++ b/compiler/testData/ir/irText/expressions/classReference.txt @@ -6,11 +6,17 @@ FILE fqName: fileName:/classReference.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test visibility:public modality:FINAL <> () returnType:Unit flags: BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/complexAugmentedAssignment.txt b/compiler/testData/ir/irText/expressions/complexAugmentedAssignment.txt index b06adc96960..8d2ce0631b5 100644 --- a/compiler/testData/ir/irText/expressions/complexAugmentedAssignment.txt +++ b/compiler/testData/ir/irText/expressions/complexAugmentedAssignment.txt @@ -69,25 +69,43 @@ FILE fqName: fileName:/complexAugmentedAssignment.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.IntArray) returnType:Unit flags: VALUE_PARAMETER name:a index:0 type:kotlin.IntArray flags: @@ -184,11 +202,17 @@ FILE fqName: fileName:/complexAugmentedAssignment.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS OBJECT name:Host modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Host flags: @@ -212,11 +236,17 @@ FILE fqName: fileName:/complexAugmentedAssignment.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test3 visibility:public modality:FINAL <> ($receiver:Host, v:B) returnType:Unit flags: $receiver: VALUE_PARAMETER name: type:Host flags: diff --git a/compiler/testData/ir/irText/expressions/contructorCall.txt b/compiler/testData/ir/irText/expressions/contructorCall.txt index 3eb160d4e9b..6395dfb6da7 100644 --- a/compiler/testData/ir/irText/expressions/contructorCall.txt +++ b/compiler/testData/ir/irText/expressions/contructorCall.txt @@ -6,11 +6,17 @@ FILE fqName: fileName:/contructorCall.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: PROPERTY name:test type:A visibility:public modality:FINAL flags:val FIELD PROPERTY_BACKING_FIELD name:test type:A visibility:public diff --git a/compiler/testData/ir/irText/expressions/conventionComparisons.txt b/compiler/testData/ir/irText/expressions/conventionComparisons.txt index e6f365cf271..69955e15466 100644 --- a/compiler/testData/ir/irText/expressions/conventionComparisons.txt +++ b/compiler/testData/ir/irText/expressions/conventionComparisons.txt @@ -2,11 +2,17 @@ FILE fqName: fileName:/conventionComparisons.kt CLASS INTERFACE name:IA modality:ABSTRACT visibility:public flags: $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS INTERFACE name:IB modality:ABSTRACT visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:IB flags: @@ -15,11 +21,17 @@ FILE fqName: fileName:/conventionComparisons.kt $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test1 visibility:public modality:FINAL <> ($receiver:IB, a1:IA, a2:IA) returnType:Boolean flags: $receiver: VALUE_PARAMETER name: type:IB flags: diff --git a/compiler/testData/ir/irText/expressions/destructuring1.txt b/compiler/testData/ir/irText/expressions/destructuring1.txt index ad27e43666a..e1037d63b5e 100644 --- a/compiler/testData/ir/irText/expressions/destructuring1.txt +++ b/compiler/testData/ir/irText/expressions/destructuring1.txt @@ -6,11 +6,17 @@ FILE fqName: fileName:/destructuring1.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS OBJECT name:B modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:B flags: @@ -31,11 +37,17 @@ FILE fqName: fileName:/destructuring1.kt RETURN type=kotlin.Nothing from='component2() on A: Int' CONST Int type=kotlin.Int value=2 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test visibility:public modality:FINAL <> ($receiver:B) returnType:Unit flags: $receiver: VALUE_PARAMETER name: type:B flags: diff --git a/compiler/testData/ir/irText/expressions/destructuringWithUnderscore.txt b/compiler/testData/ir/irText/expressions/destructuringWithUnderscore.txt index e17003c2dbd..c85384430ab 100644 --- a/compiler/testData/ir/irText/expressions/destructuringWithUnderscore.txt +++ b/compiler/testData/ir/irText/expressions/destructuringWithUnderscore.txt @@ -6,11 +6,17 @@ FILE fqName: fileName:/destructuringWithUnderscore.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS OBJECT name:B modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:B flags: @@ -37,11 +43,17 @@ FILE fqName: fileName:/destructuringWithUnderscore.kt RETURN type=kotlin.Nothing from='component3() on A: Int' CONST Int type=kotlin.Int value=3 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test visibility:public modality:FINAL <> ($receiver:B) returnType:Unit flags: $receiver: VALUE_PARAMETER name: type:B flags: diff --git a/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt b/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt index bd928f7793a..fed76253dba 100644 --- a/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt +++ b/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt @@ -35,57 +35,95 @@ FILE fqName: fileName:/enumEntryAsReceiver.kt $this: GET_ENUM 'B' type=X.B FUNCTION_REFERENCE '(): String' type=() -> kotlin.String origin=LAMBDA FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:X.B) returnType:Function0 flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:X) returnType:Function0 flags: $this: VALUE_PARAMETER name: type:X.B flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(): () -> String' GET_FIELD 'value: () -> String' type=() -> kotlin.String 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:Any flags: + overridden: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType: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:Unit flags: + overridden: + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType: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<(X..X?)>..java.lang.Class<(X..X?)>?) flags: + overridden: + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:(java.lang.Class<(X..X?)>..java.lang.Class<(X..X?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:X) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:X) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY name:value type:() -> kotlin.String visibility:public modality:ABSTRACT flags:val FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:X) returnType:Function0 flags: $this: VALUE_PARAMETER name: type:X flags: FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:Any flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> () returnType: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:Unit flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> () returnType: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<(X..X?)>..java.lang.Class<(X..X?)>?) flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> () returnType:(java.lang.Class<(E..E?)>..java.lang.Class<(E..E?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:X) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> (other:E) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> (other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:Array flags: SYNTHETIC_BODY kind=ENUM_VALUES diff --git a/compiler/testData/ir/irText/expressions/forWithImplicitReceivers.txt b/compiler/testData/ir/irText/expressions/forWithImplicitReceivers.txt index 79d872c4a85..c7ae8b54074 100644 --- a/compiler/testData/ir/irText/expressions/forWithImplicitReceivers.txt +++ b/compiler/testData/ir/irText/expressions/forWithImplicitReceivers.txt @@ -6,11 +6,17 @@ FILE fqName: fileName:/forWithImplicitReceivers.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:IntCell modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:IntCell flags: @@ -37,11 +43,17 @@ FILE fqName: fileName:/forWithImplicitReceivers.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS INTERFACE name:IReceiver modality:ABSTRACT visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:IReceiver flags: @@ -79,11 +91,17 @@ FILE fqName: fileName:/forWithImplicitReceivers.kt $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test visibility:public modality:FINAL <> ($receiver:IReceiver) returnType:Unit flags: $receiver: VALUE_PARAMETER name: type:IReceiver flags: diff --git a/compiler/testData/ir/irText/expressions/interfaceThisRef.txt b/compiler/testData/ir/irText/expressions/interfaceThisRef.txt index 086aab7a509..8a2d5c6fd5d 100644 --- a/compiler/testData/ir/irText/expressions/interfaceThisRef.txt +++ b/compiler/testData/ir/irText/expressions/interfaceThisRef.txt @@ -9,10 +9,16 @@ FILE fqName: fileName:/interfaceThisRef.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: diff --git a/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.txt b/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.txt index fb5acbd8b45..2819f52e346 100644 --- a/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.txt +++ b/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.txt @@ -26,10 +26,16 @@ FILE fqName: fileName:/Derived.kt PROPERTY FAKE_OVERRIDE name:value type:kotlin.Int visibility:public modality:FINAL flags:var FIELD FAKE_OVERRIDE name:value type:kotlin.Int visibility:public FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 46456e3bf17..bd7f2fe929f 100644 --- a/compiler/testData/ir/irText/expressions/jvmStaticFieldReference.txt +++ b/compiler/testData/ir/irText/expressions/jvmStaticFieldReference.txt @@ -52,10 +52,16 @@ FILE fqName: fileName:/jvmStaticFieldReference.kt GET_FIELD 'out: PrintStream!' 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 fdebc55a247..144ff6a05b9 100644 --- a/compiler/testData/ir/irText/expressions/kt16904.txt +++ b/compiler/testData/ir/irText/expressions/kt16904.txt @@ -33,11 +33,17 @@ FILE fqName: fileName:/kt16904.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:B modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:B flags: @@ -50,11 +56,17 @@ FILE fqName: fileName:/kt16904.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test1 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test1 flags: @@ -80,19 +92,31 @@ FILE fqName: fileName:/kt16904.kt other: CONST Int type=kotlin.Int value=42 PROPERTY FAKE_OVERRIDE name:x type:B visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:A) returnType:B flags: + 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 type:kotlin.Int visibility:public modality:FINAL flags:var FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:A) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:A) returnType:Int flags: $this: VALUE_PARAMETER name: type:A flags: FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:A, :kotlin.Int) returnType:Unit flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:A, :kotlin.Int) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Test2 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test2 flags: @@ -108,10 +132,16 @@ FILE fqName: fileName:/kt16904.kt PROPERTY FAKE_OVERRIDE name:field type:kotlin.Int visibility:public modality:FINAL flags:var FIELD FAKE_OVERRIDE name:field type:kotlin.Int visibility:public FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 50ecb9e65ba..3184e4a0161 100644 --- a/compiler/testData/ir/irText/expressions/kt16905.txt +++ b/compiler/testData/ir/irText/expressions/kt16905.txt @@ -13,11 +13,17 @@ FILE fqName: fileName:/kt16905.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:InnerDerived0 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Outer.InnerDerived0 flags: @@ -28,11 +34,17 @@ FILE fqName: fileName:/kt16905.kt $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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:InnerDerived1 modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Outer.InnerDerived1 flags: @@ -43,18 +55,30 @@ FILE fqName: fileName:/kt16905.kt $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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Inner flags: diff --git a/compiler/testData/ir/irText/expressions/membersImportedFromObject.txt b/compiler/testData/ir/irText/expressions/membersImportedFromObject.txt index 753c6a92d2a..d12f0ec78b9 100644 --- a/compiler/testData/ir/irText/expressions/membersImportedFromObject.txt +++ b/compiler/testData/ir/irText/expressions/membersImportedFromObject.txt @@ -34,11 +34,17 @@ FILE fqName: fileName:/membersImportedFromObject.kt RETURN type=kotlin.Nothing from='() on Int: Int' CONST Int type=kotlin.Int value=43 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: PROPERTY name:test1 type:kotlin.Int visibility:public modality:FINAL flags:val FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public diff --git a/compiler/testData/ir/irText/expressions/multipleThisReferences.txt b/compiler/testData/ir/irText/expressions/multipleThisReferences.txt index 48a921de5c8..73a9f738d2b 100644 --- a/compiler/testData/ir/irText/expressions/multipleThisReferences.txt +++ b/compiler/testData/ir/irText/expressions/multipleThisReferences.txt @@ -24,18 +24,30 @@ FILE fqName: fileName:/multipleThisReferences.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS CLASS name:Host modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Host flags: @@ -84,20 +96,34 @@ FILE fqName: fileName:/multipleThisReferences.kt receiver: GET_VAR 'this@: ' type=Host.test. origin=null PROPERTY FAKE_OVERRIDE name:x type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:Outer.Inner) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Outer.Inner) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 e07afaa113a..9e4380615cd 100644 --- a/compiler/testData/ir/irText/expressions/objectAsCallable.txt +++ b/compiler/testData/ir/irText/expressions/objectAsCallable.txt @@ -6,11 +6,17 @@ FILE fqName: fileName:/objectAsCallable.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS ENUM_CLASS name:En modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:En flags: @@ -22,26 +28,44 @@ FILE fqName: fileName:/objectAsCallable.kt ENUM_ENTRY name:X init: ENUM_CONSTRUCTOR_CALL 'constructor En()' FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:Any flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> () returnType: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:Unit flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> () returnType: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<(En..En?)>..java.lang.Class<(En..En?)>?) flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> () returnType:(java.lang.Class<(E..E?)>..java.lang.Class<(E..E?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:En) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> (other:E) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> (other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:Array flags: SYNTHETIC_BODY kind=ENUM_VALUES diff --git a/compiler/testData/ir/irText/expressions/objectClassReference.txt b/compiler/testData/ir/irText/expressions/objectClassReference.txt index 5797c4b2681..ed8cf07f774 100644 --- a/compiler/testData/ir/irText/expressions/objectClassReference.txt +++ b/compiler/testData/ir/irText/expressions/objectClassReference.txt @@ -6,11 +6,17 @@ FILE fqName: fileName:/objectClassReference.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test visibility:public modality:FINAL <> () returnType:Unit flags: BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/outerClassInstanceReference.txt b/compiler/testData/ir/irText/expressions/outerClassInstanceReference.txt index a13073cd3c5..6761ef24803 100644 --- a/compiler/testData/ir/irText/expressions/outerClassInstanceReference.txt +++ b/compiler/testData/ir/irText/expressions/outerClassInstanceReference.txt @@ -22,17 +22,29 @@ FILE fqName: fileName:/outerClassInstanceReference.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: diff --git a/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt b/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt index efe0184544d..1130496d539 100644 --- a/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt +++ b/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt @@ -104,10 +104,16 @@ FILE fqName: fileName:/primitivesImplicitConversions.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: diff --git a/compiler/testData/ir/irText/expressions/reflectionLiterals.txt b/compiler/testData/ir/irText/expressions/reflectionLiterals.txt index b0782ec21ae..189cdfd6f5d 100644 --- a/compiler/testData/ir/irText/expressions/reflectionLiterals.txt +++ b/compiler/testData/ir/irText/expressions/reflectionLiterals.txt @@ -9,11 +9,17 @@ FILE fqName: fileName:/reflectionLiterals.kt $this: VALUE_PARAMETER name: type:A flags: BLOCK_BODY FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:bar visibility:public modality:FINAL <> () returnType:Unit flags: BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/safeAssignment.txt b/compiler/testData/ir/irText/expressions/safeAssignment.txt index a8e42bd1123..5e97b5b652a 100644 --- a/compiler/testData/ir/irText/expressions/safeAssignment.txt +++ b/compiler/testData/ir/irText/expressions/safeAssignment.txt @@ -24,11 +24,17 @@ FILE fqName: fileName:/safeAssignment.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test visibility:public modality:FINAL <> (nc:C?) returnType:Unit flags: VALUE_PARAMETER name:nc index:0 type:C? flags: diff --git a/compiler/testData/ir/irText/expressions/safeCallWithIncrementDecrement.txt b/compiler/testData/ir/irText/expressions/safeCallWithIncrementDecrement.txt index 8b5fc82904b..892026cf441 100644 --- a/compiler/testData/ir/irText/expressions/safeCallWithIncrementDecrement.txt +++ b/compiler/testData/ir/irText/expressions/safeCallWithIncrementDecrement.txt @@ -6,11 +6,17 @@ FILE fqName:test fileName:/safeCallWithIncrementDecrement.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: PROPERTY name:p type:kotlin.Int visibility:public modality:FINAL flags:var FUN name: visibility:public modality:FINAL <> ($receiver:test.C?) returnType:Int flags: diff --git a/compiler/testData/ir/irText/expressions/safeCalls.txt b/compiler/testData/ir/irText/expressions/safeCalls.txt index fc05dd8d3ee..f506683ec67 100644 --- a/compiler/testData/ir/irText/expressions/safeCalls.txt +++ b/compiler/testData/ir/irText/expressions/safeCalls.txt @@ -24,11 +24,17 @@ FILE fqName: fileName:/safeCalls.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS INTERFACE name:IHost modality:ABSTRACT visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:IHost flags: @@ -40,11 +46,17 @@ FILE fqName: fileName:/safeCalls.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.String?) returnType:Int? flags: VALUE_PARAMETER name:x index:0 type:kotlin.String? flags: diff --git a/compiler/testData/ir/irText/expressions/setFieldWithImplicitCast.txt b/compiler/testData/ir/irText/expressions/setFieldWithImplicitCast.txt index c88a5398a3b..6e5292130fc 100644 --- a/compiler/testData/ir/irText/expressions/setFieldWithImplicitCast.txt +++ b/compiler/testData/ir/irText/expressions/setFieldWithImplicitCast.txt @@ -21,10 +21,16 @@ FILE fqName: fileName:/Derived.kt PROPERTY FAKE_OVERRIDE name:value type:kotlin.String! visibility:public modality:FINAL flags:var FIELD FAKE_OVERRIDE name:value type:kotlin.String! visibility:public FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: diff --git a/compiler/testData/ir/irText/expressions/smartCastsWithDestructuring.txt b/compiler/testData/ir/irText/expressions/smartCastsWithDestructuring.txt index 24ecf1e6ffa..c398e4e5efb 100644 --- a/compiler/testData/ir/irText/expressions/smartCastsWithDestructuring.txt +++ b/compiler/testData/ir/irText/expressions/smartCastsWithDestructuring.txt @@ -2,20 +2,32 @@ FILE fqName: fileName:/smartCastsWithDestructuring.kt CLASS INTERFACE name:I1 modality:ABSTRACT visibility:public flags: $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS INTERFACE name:I2 modality:ABSTRACT visibility:public flags: $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:component1 visibility:public modality:FINAL <> ($receiver:I1) returnType:Int flags: $receiver: VALUE_PARAMETER name: type:I1 flags: diff --git a/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.txt b/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.txt index d97289fe558..16b16694423 100644 --- a/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.txt +++ b/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.txt @@ -36,18 +36,30 @@ FILE fqName: fileName:/thisOfGenericOuterClass.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test visibility:public modality:FINAL <> ($receiver:Outer) returnType:Inner flags: $receiver: VALUE_PARAMETER name: type:Outer flags: @@ -78,13 +90,21 @@ FILE fqName: fileName:/thisOfGenericOuterClass.kt receiver: GET_VAR 'this@: ' type=test. origin=null PROPERTY FAKE_OVERRIDE name:y type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:Outer.Inner) returnType:Int flags: + overridden: + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Outer.Inner) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CALL 'constructor ()' type=test. origin=OBJECT_LITERAL diff --git a/compiler/testData/ir/irText/expressions/typeOperators.txt b/compiler/testData/ir/irText/expressions/typeOperators.txt index 2ed01904083..44ee88c8a1c 100644 --- a/compiler/testData/ir/irText/expressions/typeOperators.txt +++ b/compiler/testData/ir/irText/expressions/typeOperators.txt @@ -2,11 +2,17 @@ FILE fqName: fileName:/typeOperators.kt CLASS INTERFACE name:IThing modality:ABSTRACT visibility:public flags: $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:Boolean flags: VALUE_PARAMETER name:x index:0 type:kotlin.Any flags: diff --git a/compiler/testData/ir/irText/expressions/values.txt b/compiler/testData/ir/irText/expressions/values.txt index 677decbd899..e7f7c24eff9 100644 --- a/compiler/testData/ir/irText/expressions/values.txt +++ b/compiler/testData/ir/irText/expressions/values.txt @@ -9,26 +9,44 @@ FILE fqName: fileName:/values.kt ENUM_ENTRY name:A init: ENUM_CONSTRUCTOR_CALL 'constructor Enum()' FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:Any flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> () returnType: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:Unit flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> () returnType: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<(Enum..Enum?)>..java.lang.Class<(Enum..Enum?)>?) flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> () returnType:(java.lang.Class<(E..E?)>..java.lang.Class<(E..E?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Enum) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> (other:E) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> (other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:Array flags: SYNTHETIC_BODY kind=ENUM_VALUES @@ -42,11 +60,17 @@ FILE fqName: fileName:/values.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: PROPERTY name:a type:kotlin.Int visibility:public modality:FINAL flags:val FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:public @@ -69,18 +93,30 @@ FILE fqName: fileName:/values.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test1 visibility:public modality:FINAL <> () returnType:Enum flags: BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/when.txt b/compiler/testData/ir/irText/expressions/when.txt index cae896e6a35..5cf3ceffb15 100644 --- a/compiler/testData/ir/irText/expressions/when.txt +++ b/compiler/testData/ir/irText/expressions/when.txt @@ -6,11 +6,17 @@ FILE fqName: fileName:/when.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:testWithSubject visibility:public modality:FINAL <> (x:kotlin.Any?) returnType:String flags: VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags: diff --git a/compiler/testData/ir/irText/lambdas/destructuringInLambda.txt b/compiler/testData/ir/irText/lambdas/destructuringInLambda.txt index faed5d1d2e9..b7350c4de2b 100644 --- a/compiler/testData/ir/irText/lambdas/destructuringInLambda.txt +++ b/compiler/testData/ir/irText/lambdas/destructuringInLambda.txt @@ -55,6 +55,8 @@ FILE fqName: fileName:/destructuringInLambda.kt 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:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:A flags: BLOCK_BODY RETURN type=kotlin.Nothing from='toString(): String' @@ -69,6 +71,8 @@ FILE fqName: fileName:/destructuringInLambda.kt $this: GET_VAR 'this@A: A' type=A origin=null CONST String type=kotlin.String value=) FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:A) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:A flags: BLOCK_BODY VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var @@ -88,6 +92,8 @@ FILE fqName: fileName:/destructuringInLambda.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:A flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: BLOCK_BODY diff --git a/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.txt b/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.txt index 0e26cafcafe..6d3f26e50d5 100644 --- a/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.txt +++ b/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.txt @@ -6,11 +6,17 @@ FILE fqName: fileName:/multipleImplicitReceivers.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS OBJECT name:B modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:B flags: @@ -19,11 +25,17 @@ FILE fqName: fileName:/multipleImplicitReceivers.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS INTERFACE name:IFoo modality:ABSTRACT visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:IFoo flags: @@ -35,11 +47,17 @@ FILE fqName: fileName:/multipleImplicitReceivers.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: CLASS INTERFACE name:IInvoke modality:ABSTRACT visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:IInvoke flags: @@ -50,11 +68,17 @@ FILE fqName: fileName:/multipleImplicitReceivers.kt RETURN type=kotlin.Nothing from='invoke() on B: Int' CONST Int type=kotlin.Int value=42 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test visibility:public modality:FINAL <> (fooImpl:IFoo, invokeImpl:IInvoke) returnType:Unit flags: VALUE_PARAMETER name:fooImpl index:0 type:IFoo flags: diff --git a/compiler/testData/ir/irText/regressions/integerCoercionToT.txt b/compiler/testData/ir/irText/regressions/integerCoercionToT.txt index 4ffe1cdab99..ac3c61e89c5 100644 --- a/compiler/testData/ir/irText/regressions/integerCoercionToT.txt +++ b/compiler/testData/ir/irText/regressions/integerCoercionToT.txt @@ -2,11 +2,17 @@ FILE fqName: fileName:/integerCoercionToT.kt CLASS INTERFACE name:CPointed modality:ABSTRACT visibility:public flags: $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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: upperBounds:[CPointed] @@ -22,11 +28,17 @@ FILE fqName: fileName:/integerCoercionToT.kt 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: TYPEALIAS typealias CInt32Var = CInt32VarX type=CInt32VarX PROPERTY name:value type:T_INT visibility:public modality:FINAL flags:var @@ -57,11 +69,17 @@ FILE fqName: fileName:/integerCoercionToT.kt 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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:foo visibility:public modality:FINAL <> (value:IdType, cv:CInt32Var /* = CInt32VarX */) returnType:Unit flags: VALUE_PARAMETER name:value index:0 type:IdType flags: diff --git a/compiler/testData/ir/irText/regressions/newInference/fixationOrder1.txt b/compiler/testData/ir/irText/regressions/newInference/fixationOrder1.txt index 937a4dfba46..24ea7909b20 100644 --- a/compiler/testData/ir/irText/regressions/newInference/fixationOrder1.txt +++ b/compiler/testData/ir/irText/regressions/newInference/fixationOrder1.txt @@ -10,11 +10,17 @@ FILE fqName: fileName:/fixationOrder1.kt TYPE_PARAMETER name:A index:0 variance: upperBounds:[kotlin.Any?] TYPE_PARAMETER name:B index:1 variance: upperBounds:[kotlin.Any?] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:check visibility:public modality:FINAL (x:T, y:R, f:(T) -> R) returnType:Inv2 flags: TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?] diff --git a/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.txt b/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.txt index 691a3af8143..161a19399a7 100644 --- a/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.txt +++ b/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.txt @@ -18,11 +18,17 @@ FILE fqName: fileName:/typeAliasCtorForGenericClass.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: TYPEALIAS typealias B = A type=A TYPEALIAS typealias B2 = A> type=A> diff --git a/compiler/testData/ir/irText/singletons/companion.txt b/compiler/testData/ir/irText/singletons/companion.txt index 6bc0aec6bd0..18577086dce 100644 --- a/compiler/testData/ir/irText/singletons/companion.txt +++ b/compiler/testData/ir/irText/singletons/companion.txt @@ -20,17 +20,29 @@ FILE fqName: fileName:/companion.kt $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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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 a9cec99d139..67582e2b984 100644 --- a/compiler/testData/ir/irText/singletons/enumEntry.txt +++ b/compiler/testData/ir/irText/singletons/enumEntry.txt @@ -29,55 +29,97 @@ FILE fqName: fileName:/enumEntry.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:Any flags: + overridden: + FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType: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:Unit flags: + overridden: + FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum) returnType: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<(Z..Z?)>..java.lang.Class<(Z..Z?)>?) flags: + overridden: + FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:(java.lang.Class<(Z..Z?)>..java.lang.Class<(Z..Z?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Z) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Z) returnType: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:Boolean flags: + overridden: + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:Any flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> () returnType: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:Unit flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> () returnType: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<(Z..Z?)>..java.lang.Class<(Z..Z?)>?) flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> () returnType:(java.lang.Class<(E..E?)>..java.lang.Class<(E..E?)>?) flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:Z) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> (other:E) returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> (other:kotlin.Any?) returnType: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:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:name type:kotlin.String visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: PROPERTY FAKE_OVERRIDE name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:FINAL <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Enum flags: FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:Array flags: SYNTHETIC_BODY kind=ENUM_VALUES diff --git a/compiler/testData/ir/irText/singletons/object.txt b/compiler/testData/ir/irText/singletons/object.txt index 39116614364..25dd6f16909 100644 --- a/compiler/testData/ir/irText/singletons/object.txt +++ b/compiler/testData/ir/irText/singletons/object.txt @@ -20,17 +20,29 @@ FILE fqName: fileName:/object.kt 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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: diff --git a/compiler/testData/ir/irText/stubs/javaInnerClass.txt b/compiler/testData/ir/irText/stubs/javaInnerClass.txt index 27296484857..f3907d81489 100644 --- a/compiler/testData/ir/irText/stubs/javaInnerClass.txt +++ b/compiler/testData/ir/irText/stubs/javaInnerClass.txt @@ -19,12 +19,20 @@ FILE fqName: fileName:/javaInnerClass.kt PROPERTY FAKE_OVERRIDE name:x type:kotlin.Int visibility:public modality:FINAL flags:var FIELD FAKE_OVERRIDE name:x type:kotlin.Int visibility:public FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:J) returnType:Unit flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:bar visibility:public modality:OPEN <> () returnType: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:Boolean flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: + overridden: + FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: