diff --git a/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/fir/Fir2IrTextTestGenerated.java b/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/fir/Fir2IrTextTestGenerated.java index d15755bcae4..196f6d0eea2 100644 --- a/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/fir/Fir2IrTextTestGenerated.java +++ b/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/fir/Fir2IrTextTestGenerated.java @@ -294,6 +294,11 @@ public class Fir2IrTextTestGenerated extends AbstractFir2IrTextTest { runTest("compiler/testData/ir/irText/declarations/kt29833.kt"); } + @TestMetadata("kt35550.kt") + public void testKt35550() throws Exception { + runTest("compiler/testData/ir/irText/declarations/kt35550.kt"); + } + @TestMetadata("localClassWithOverrides.kt") public void testLocalClassWithOverrides() throws Exception { runTest("compiler/testData/ir/irText/declarations/localClassWithOverrides.kt"); diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/FunctionGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/FunctionGenerator.kt index 687ffdb9c07..355e25c90bc 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/FunctionGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/FunctionGenerator.kt @@ -268,7 +268,13 @@ class FunctionGenerator(declarationGenerator: DeclarationGenerator) : Declaratio } fun generateSyntheticFunctionParameterDeclarations(irFunction: IrFunction) { - declarationGenerator.generateGlobalTypeParametersDeclarations(irFunction, irFunction.descriptor.typeParameters) + val descriptor = irFunction.descriptor + val typeParameters = + if (descriptor is PropertyAccessorDescriptor) + descriptor.correspondingProperty.typeParameters + else + descriptor.typeParameters + declarationGenerator.generateScopedTypeParameterDeclarations(irFunction, typeParameters) generateValueParameterDeclarations(irFunction, null, null, withDefaultValues = false) } diff --git a/compiler/testData/ir/irText/classes/delegatedGenericImplementation.txt b/compiler/testData/ir/irText/classes/delegatedGenericImplementation.txt index 06dff777854..bed371e13c6 100644 --- a/compiler/testData/ir/irText/classes/delegatedGenericImplementation.txt +++ b/compiler/testData/ir/irText/classes/delegatedGenericImplementation.txt @@ -64,47 +64,50 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt a: GET_VAR 'a: E of .Test1 declared in .Test1.foo' type=E of .Test1 origin=null b: GET_VAR 'b: B of .Test1.foo declared in .Test1.foo' type=B of .Test1.foo origin=null PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val] - FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test1.Test1>, $receiver:C of .Test1.) returnType:kotlin.collections.Map.Test1, C of .Test1.>? + FUN DELEGATED_MEMBER name: visibility:public modality:OPEN ($this:.Test1.Test1>, $receiver:C of .Test1.) returnType:kotlin.collections.Map.Test1, C of .Test1.>? correspondingProperty: PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val] overridden: public abstract fun (): kotlin.collections.Map.IBase, C of .IBase.>? declared in .IBase + TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.Test1.Test1> $receiver: VALUE_PARAMETER name: type:C of .Test1. BLOCK_BODY - RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.Map.Test1, C of .Test1.>? declared in .Test1' + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.Map.Test1, C of .Test1.>? declared in .Test1' CALL 'public abstract fun (): kotlin.collections.Map.IBase, C of .IBase.>? declared in .IBase' type=kotlin.collections.Map.Test1, C of .Test1.>? origin=null : C of .Test1. $this: GET_FIELD 'FIELD DELEGATE name:Test1$IBase$delegate type:.IBase.Test1> visibility:private [final]' type=.IBase.Test1> origin=null receiver: GET_VAR ': .Test1.Test1> declared in .Test1.' type=.Test1.Test1> origin=null $receiver: GET_VAR ': C of .Test1. declared in .Test1.' type=C of .Test1. origin=null PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [var] - FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test1.Test1>, $receiver:kotlin.collections.List.Test1.>) returnType:D of .Test1.? + FUN DELEGATED_MEMBER name: visibility:public modality:OPEN ($this:.Test1.Test1>, $receiver:kotlin.collections.List.Test1.>) returnType:D of .Test1.? correspondingProperty: PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [var] overridden: public abstract fun (): D of .IBase.? declared in .IBase + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.Test1.Test1> $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.Test1.> BLOCK_BODY - RETURN type=kotlin.Nothing from='public open fun (): D of .Test1.? declared in .Test1' + RETURN type=kotlin.Nothing from='public open fun (): D of .Test1.? declared in .Test1' CALL 'public abstract fun (): D of .IBase.? declared in .IBase' type=D of .Test1.? origin=null : D of .Test1. $this: GET_FIELD 'FIELD DELEGATE name:Test1$IBase$delegate type:.IBase.Test1> visibility:private [final]' type=.IBase.Test1> origin=null receiver: GET_VAR ': .Test1.Test1> declared in .Test1.' type=.Test1.Test1> origin=null $receiver: GET_VAR ': kotlin.collections.List.Test1.> declared in .Test1.' type=kotlin.collections.List.Test1.> origin=null - FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test1.Test1>, $receiver:kotlin.collections.List.Test1.>, :D of .Test1.?) returnType:kotlin.Unit + FUN DELEGATED_MEMBER name: visibility:public modality:OPEN ($this:.Test1.Test1>, $receiver:kotlin.collections.List.Test1.>, :D of .Test1.?) returnType:kotlin.Unit correspondingProperty: PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [var] overridden: public abstract fun (: D of .IBase.?): kotlin.Unit declared in .IBase + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.Test1.Test1> - $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.Test1.> - VALUE_PARAMETER name: index:0 type:D of .Test1.? + $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.Test1.> + VALUE_PARAMETER name: index:0 type:D of .Test1.? BLOCK_BODY CALL 'public abstract fun (: D of .IBase.?): kotlin.Unit declared in .IBase' type=kotlin.Unit origin=null - : D of .Test1. + : D of .Test1. $this: GET_FIELD 'FIELD DELEGATE name:Test1$IBase$delegate type:.IBase.Test1> visibility:private [final]' type=.IBase.Test1> origin=null receiver: GET_VAR ': .Test1.Test1> declared in .Test1.' type=.Test1.Test1> origin=null - $receiver: GET_VAR ': kotlin.collections.List.Test1.> declared in .Test1.' type=kotlin.collections.List.Test1.> origin=null - : GET_VAR ': D of .Test1.? declared in .Test1.' type=D of .Test1.? origin=null + $receiver: GET_VAR ': kotlin.collections.List.Test1.> declared in .Test1.' type=kotlin.collections.List.Test1.> origin=null + : GET_VAR ': D of .Test1.? declared in .Test1.' type=D of .Test1.? origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .IBase @@ -162,47 +165,50 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt a: GET_VAR 'a: kotlin.String declared in .Test2.foo' type=kotlin.String origin=null b: GET_VAR 'b: B of .Test2.foo declared in .Test2.foo' type=B of .Test2.foo origin=null PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val] - FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2, $receiver:C of .Test2.) returnType:kotlin.collections.Map.Test2.>? + FUN DELEGATED_MEMBER name: visibility:public modality:OPEN ($this:.Test2, $receiver:C of .Test2.) returnType:kotlin.collections.Map.Test2.>? correspondingProperty: PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val] overridden: public abstract fun (): kotlin.collections.Map.IBase, C of .IBase.>? declared in .IBase + TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.Test2 $receiver: VALUE_PARAMETER name: type:C of .Test2. BLOCK_BODY - RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.Map.Test2.>? declared in .Test2' + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.Map.Test2.>? declared in .Test2' CALL 'public abstract fun (): kotlin.collections.Map.IBase, C of .IBase.>? declared in .IBase' type=kotlin.collections.Map.Test2.>? origin=null : C of .Test2. $this: GET_FIELD 'FIELD DELEGATE name:Test2$IBase$delegate type:.IBase visibility:private [final]' type=.IBase origin=null receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null $receiver: GET_VAR ': C of .Test2. declared in .Test2.' type=C of .Test2. origin=null PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [var] - FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2, $receiver:kotlin.collections.List.Test2.>) returnType:D of .Test2.? + FUN DELEGATED_MEMBER name: visibility:public modality:OPEN ($this:.Test2, $receiver:kotlin.collections.List.Test2.>) returnType:D of .Test2.? correspondingProperty: PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [var] overridden: public abstract fun (): D of .IBase.? declared in .IBase + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.Test2 $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.Test2.> BLOCK_BODY - RETURN type=kotlin.Nothing from='public open fun (): D of .Test2.? declared in .Test2' + RETURN type=kotlin.Nothing from='public open fun (): D of .Test2.? declared in .Test2' CALL 'public abstract fun (): D of .IBase.? declared in .IBase' type=D of .Test2.? origin=null : D of .Test2. $this: GET_FIELD 'FIELD DELEGATE name:Test2$IBase$delegate type:.IBase visibility:private [final]' type=.IBase origin=null receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null $receiver: GET_VAR ': kotlin.collections.List.Test2.> declared in .Test2.' type=kotlin.collections.List.Test2.> origin=null - FUN DELEGATED_MEMBER name: visibility:public modality:OPEN <> ($this:.Test2, $receiver:kotlin.collections.List.Test2.>, :D of .Test2.?) returnType:kotlin.Unit + FUN DELEGATED_MEMBER name: visibility:public modality:OPEN ($this:.Test2, $receiver:kotlin.collections.List.Test2.>, :D of .Test2.?) returnType:kotlin.Unit correspondingProperty: PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [var] overridden: public abstract fun (: D of .IBase.?): kotlin.Unit declared in .IBase + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.Test2 - $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.Test2.> - VALUE_PARAMETER name: index:0 type:D of .Test2.? + $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.Test2.> + VALUE_PARAMETER name: index:0 type:D of .Test2.? BLOCK_BODY CALL 'public abstract fun (: D of .IBase.?): kotlin.Unit declared in .IBase' type=kotlin.Unit origin=null - : D of .Test2. + : D of .Test2. $this: GET_FIELD 'FIELD DELEGATE name:Test2$IBase$delegate type:.IBase visibility:private [final]' type=.IBase origin=null receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null - $receiver: GET_VAR ': kotlin.collections.List.Test2.> declared in .Test2.' type=kotlin.collections.List.Test2.> origin=null - : GET_VAR ': D of .Test2.? declared in .Test2.' type=D of .Test2.? origin=null + $receiver: GET_VAR ': kotlin.collections.List.Test2.> declared in .Test2.' type=kotlin.collections.List.Test2.> origin=null + : GET_VAR ': D of .Test2.? declared in .Test2.' type=D of .Test2.? origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .IBase diff --git a/compiler/testData/ir/irText/declarations/kt35550.fir.txt b/compiler/testData/ir/irText/declarations/kt35550.fir.txt new file mode 100644 index 00000000000..2f97d9b197f --- /dev/null +++ b/compiler/testData/ir/irText/declarations/kt35550.fir.txt @@ -0,0 +1,49 @@ +FILE fqName: fileName:/kt35550.kt + CLASS INTERFACE name:I modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + PROPERTY name:id visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.I) returnType:T of + correspondingProperty: PROPERTY name:id visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): T of declared in .I' + ERROR_CALL 'Unresolved reference: this@R|/I.id|' type=T of + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.I] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> (i:.I) returnType:.A [primary] + VALUE_PARAMETER name:i index:0 type:.I + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.I]' + PROPERTY FAKE_OVERRIDE name:id visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:T of [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:id visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): T of declared in .I + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/declarations/kt35550.kt b/compiler/testData/ir/irText/declarations/kt35550.kt new file mode 100644 index 00000000000..06937b70091 --- /dev/null +++ b/compiler/testData/ir/irText/declarations/kt35550.kt @@ -0,0 +1,6 @@ +interface I { + val T.id: T + get() = this +} + +class A(i: I) : I by i diff --git a/compiler/testData/ir/irText/declarations/kt35550.txt b/compiler/testData/ir/irText/declarations/kt35550.txt new file mode 100644 index 00000000000..b4633c020f9 --- /dev/null +++ b/compiler/testData/ir/irText/declarations/kt35550.txt @@ -0,0 +1,63 @@ +FILE fqName: fileName:/kt35550.kt + CLASS INTERFACE name:I modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + PROPERTY name:id visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN ($this:.I, $receiver:T of .I.) returnType:T of .I. + correspondingProperty: PROPERTY name:id visibility:public modality:OPEN [val] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + $this: VALUE_PARAMETER name: type:.I + $receiver: VALUE_PARAMETER name: type:T of .I. + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): T of .I. declared in .I' + GET_VAR ': T of .I. declared in .I.' type=T of .I. origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.I] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> (i:.I) returnType:.A [primary] + VALUE_PARAMETER name:i index:0 type:.I + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.I]' + FIELD DELEGATE name:A$I$delegate type:.I visibility:private [final] + EXPRESSION_BODY + GET_VAR 'i: .I declared in .A.' type=.I origin=null + PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val] + FUN DELEGATED_MEMBER name: visibility:public modality:OPEN ($this:.A, $receiver:T of .A.) returnType:T of .A. + correspondingProperty: PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val] + overridden: + public open fun (): T of .I. declared in .I + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:T of .A. + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): T of .A. declared in .A' + CALL 'public open fun (): T of .I. declared in .I' type=T of .A. origin=null + : T of .A. + $this: GET_FIELD 'FIELD DELEGATE name:A$I$delegate type:.I visibility:private [final]' type=.I origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + $receiver: GET_VAR ': T of .A. declared in .A.' type=T of .A. origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .I + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .I + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .I + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java b/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java index d9b971d84a8..0084f07b08a 100644 --- a/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java @@ -293,6 +293,11 @@ public class IrTextTestCaseGenerated extends AbstractIrTextTestCase { runTest("compiler/testData/ir/irText/declarations/kt29833.kt"); } + @TestMetadata("kt35550.kt") + public void testKt35550() throws Exception { + runTest("compiler/testData/ir/irText/declarations/kt35550.kt"); + } + @TestMetadata("localClassWithOverrides.kt") public void testLocalClassWithOverrides() throws Exception { runTest("compiler/testData/ir/irText/declarations/localClassWithOverrides.kt");