diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirLightTreeJvmIrTextTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirLightTreeJvmIrTextTestGenerated.java index 037b0cb71e2..b734255ad5e 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirLightTreeJvmIrTextTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirLightTreeJvmIrTextTestGenerated.java @@ -2727,6 +2727,18 @@ public class FirLightTreeJvmIrTextTestGenerated extends AbstractFirLightTreeJvmI public void testIntersectionWithRawType() { runTest("compiler/testData/ir/irText/fakeOverrides/intersectionWithRawType.kt"); } + + @Test + @TestMetadata("setterVisibliity.kt") + public void testSetterVisibliity() { + runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); + } + + @Test + @TestMetadata("setterVisibliityWithJava.kt") + public void testSetterVisibliityWithJava() { + runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.kt"); + } } @Nested diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirPsiJvmIrTextTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirPsiJvmIrTextTestGenerated.java index f916e388863..a30f8f3d801 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirPsiJvmIrTextTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirPsiJvmIrTextTestGenerated.java @@ -2727,6 +2727,18 @@ public class FirPsiJvmIrTextTestGenerated extends AbstractFirPsiJvmIrTextTest { public void testIntersectionWithRawType() { runTest("compiler/testData/ir/irText/fakeOverrides/intersectionWithRawType.kt"); } + + @Test + @TestMetadata("setterVisibliity.kt") + public void testSetterVisibliity() { + runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); + } + + @Test + @TestMetadata("setterVisibliityWithJava.kt") + public void testSetterVisibliityWithJava() { + runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.kt"); + } } @Nested diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrFakeOverrideBuilder.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrFakeOverrideBuilder.kt index 75a0fb79ef4..1285b555619 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrFakeOverrideBuilder.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrFakeOverrideBuilder.kt @@ -325,19 +325,24 @@ class IrFakeOverrideBuilder( compatibilityMode: Boolean ) { val modality = determineModalityForFakeOverride(overridables) - val visibility = findMemberWithMaxVisibility(overridables).override.visibility + val maxVisibilityMember = findMemberWithMaxVisibility(overridables).override val mostSpecific = selectMostSpecificMember(overridables) val fakeOverride = mostSpecific.override.apply { when (this) { is IrPropertyWithLateBinding -> { - this.visibility = visibility + this.visibility = maxVisibilityMember.visibility this.modality = modality - this.getter = this.getter?.updateAccessorModalityAndVisibility(modality, visibility) - this.setter = this.setter?.updateAccessorModalityAndVisibility(modality, visibility) + maxVisibilityMember as IrProperty + this.getter = this.getter?.updateAccessorModalityAndVisibility( + modality, (maxVisibilityMember.getter ?: maxVisibilityMember).visibility + ) + this.setter = this.setter?.updateAccessorModalityAndVisibility( + modality, (maxVisibilityMember.setter ?: maxVisibilityMember).visibility + ) } is IrFunctionWithLateBinding -> { - this.visibility = visibility + this.visibility = maxVisibilityMember.visibility this.modality = modality } else -> error("Unexpected fake override kind: $this") diff --git a/compiler/testData/ir/irText/fakeOverrides/setterVisibliity.ir.txt b/compiler/testData/ir/irText/fakeOverrides/setterVisibliity.ir.txt new file mode 100644 index 00000000000..c60bd3a22bb --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/setterVisibliity.ir.txt @@ -0,0 +1,198 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:DirectChild modality:FINAL visibility:public superTypes:[.KotlinBase] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.DirectChild + CONSTRUCTOR visibility:public <> () returnType:.DirectChild [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinBase' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DirectChild modality:FINAL visibility:public superTypes:[.KotlinBase]' + 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 declared in .KotlinBase + $this: VALUE_PARAMETER name: type:kotlin.Any + 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 .KotlinBase + $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 .KotlinBase + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .KotlinBase + $this: VALUE_PARAMETER name: type:.KotlinBase + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (: kotlin.Int): kotlin.Unit declared in .KotlinBase + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .KotlinBase + $this: VALUE_PARAMETER name: type:.KotlinBase + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + protected final fun (: kotlin.Int): kotlin.Unit declared in .KotlinBase + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .KotlinBase + $this: VALUE_PARAMETER name: type:.KotlinBase + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final d: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .KotlinBase + $this: VALUE_PARAMETER name: type:.KotlinBase + FUN FAKE_OVERRIDE name: visibility:internal modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + internal final fun (: kotlin.Int): kotlin.Unit declared in .KotlinBase + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:e visibility:public modality:OPEN [fake_override,var] + overridden: + public open e: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .KotlinBase + $this: VALUE_PARAMETER name: type:.KotlinBase + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .KotlinBase + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:KotlinBase modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinBase + PROPERTY name:a visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .KotlinBase' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinBase.' type=kotlin.Int origin=null + PROPERTY name:b visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .KotlinBase' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinBase.' type=kotlin.Int origin=null + PROPERTY name:c visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=3 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int + correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .KotlinBase' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinBase.' type=kotlin.Int origin=null + PROPERTY name:d visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=4 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int + correspondingProperty: PROPERTY name:d visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .KotlinBase' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:d visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinBase.' type=kotlin.Int origin=null + PROPERTY name:e visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=5 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinBase) returnType:kotlin.Int + correspondingProperty: PROPERTY name:e visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinBase' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:e visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinBase.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinBase [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinBase modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean 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/fakeOverrides/setterVisibliity.kt b/compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt new file mode 100644 index 00000000000..e75b50a1969 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt @@ -0,0 +1,16 @@ +// FIR_IDENTICAL + +// FILE: 1.kt + +open class KotlinBase { + var a: Int = 1 + var b: Int = 2 + protected set + var c: Int = 3 + private set + var d: Int = 4 + internal set + open var e: Int = 5 +} + +class DirectChild: KotlinBase() diff --git a/compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt.txt b/compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt.txt new file mode 100644 index 00000000000..16c2821099d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt.txt @@ -0,0 +1,42 @@ +class DirectChild : KotlinBase { + constructor() /* primary */ { + super/*KotlinBase*/() + /* () */ + + } + +} + +open class KotlinBase { + var a: Int + field = 1 + get + set + + var b: Int + field = 2 + get + protected set + + var c: Int + field = 3 + get + private set + + var d: Int + field = 4 + get + internal set + + open var e: Int + field = 5 + open get + open set + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} diff --git a/compiler/testData/ir/irText/fakeOverrides/setterVisibliity.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/setterVisibliity.sig.kt.txt new file mode 100644 index 00000000000..e96798a638d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/setterVisibliity.sig.kt.txt @@ -0,0 +1,219 @@ +// CHECK: +// Mangled name: DirectChild +// Public signature: /DirectChild|null[0] +class DirectChild : KotlinBase { + // CHECK: + // Mangled name: DirectChild#(){} + // Public signature: /DirectChild.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: DirectChild{}a + // Public signature: /DirectChild.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override var a: Int + // CHECK JS_IR NATIVE: + // Mangled name: DirectChild#(){} + // Public signature: /DirectChild.a.|6785176174175479410[0] + // Public signature debug description: (){} + // CHECK JVM_IR: + // Mangled name: DirectChild#(){}kotlin.Int + // Public signature: /DirectChild.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: DirectChild#(kotlin.Int){} + // Public signature: /DirectChild.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: DirectChild{}b + // Public signature: /DirectChild.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JS_IR NATIVE: + // Mangled name: DirectChild#(){} + // Public signature: /DirectChild.b.|812004636995167743[0] + // Public signature debug description: (){} + // CHECK JVM_IR: + // Mangled name: DirectChild#(){}kotlin.Int + // Public signature: /DirectChild.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: DirectChild#(kotlin.Int){} + // Public signature: /DirectChild.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: DirectChild{}c + // Public signature: /DirectChild.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: Int + // CHECK JS_IR NATIVE: + // Mangled name: DirectChild#(){} + // Public signature: /DirectChild.c.|2368736057102379596[0] + // Public signature debug description: (){} + // CHECK JVM_IR: + // Mangled name: DirectChild#(){}kotlin.Int + // Public signature: /DirectChild.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: DirectChild{}d + // Public signature: /DirectChild.d|5174763769109925331[0] + // Public signature debug description: {}d + /* fake */ override var d: Int + // CHECK JS_IR NATIVE: + // Mangled name: DirectChild#(){} + // Public signature: /DirectChild.d.|-6701718004621354461[0] + // Public signature debug description: (){} + // CHECK JVM_IR: + // Mangled name: DirectChild#(){}kotlin.Int + // Public signature: /DirectChild.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: DirectChild#(kotlin.Int){} + // Public signature: /DirectChild.d.|4161969082808539024[0] + // Public signature debug description: (kotlin.Int){} + internal /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: DirectChild{}e + // Public signature: /DirectChild.e|-5812214850253973038[0] + // Public signature debug description: {}e + /* fake */ override var e: Int + // CHECK JS_IR NATIVE: + // Mangled name: DirectChild#(){} + // Public signature: /DirectChild.e.|-6737887868742748227[0] + // Public signature debug description: (){} + // CHECK JVM_IR: + // Mangled name: DirectChild#(){}kotlin.Int + // Public signature: /DirectChild.e.|7542680625372527774[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: DirectChild#(kotlin.Int){} + // Public signature: /DirectChild.e.|352344213206183027[0] + // Public signature debug description: (kotlin.Int){} + /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: KotlinBase +// Public signature: /KotlinBase|null[0] +open class KotlinBase { + // CHECK: + // Mangled name: KotlinBase{}a + // Public signature: /KotlinBase.a|-1200697420457237799[0] + // Public signature debug description: {}a + var a: Int + // CHECK JS_IR NATIVE: + // Mangled name: KotlinBase#(){} + // Public signature: /KotlinBase.a.|6785176174175479410[0] + // Public signature debug description: (){} + // CHECK JVM_IR: + // Mangled name: KotlinBase#(){}kotlin.Int + // Public signature: /KotlinBase.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + // CHECK: + // Mangled name: KotlinBase#(kotlin.Int){} + // Public signature: /KotlinBase.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + set + + // CHECK: + // Mangled name: KotlinBase{}b + // Public signature: /KotlinBase.b|772347207915745207[0] + // Public signature debug description: {}b + var b: Int + // CHECK JS_IR NATIVE: + // Mangled name: KotlinBase#(){} + // Public signature: /KotlinBase.b.|812004636995167743[0] + // Public signature debug description: (){} + // CHECK JVM_IR: + // Mangled name: KotlinBase#(){}kotlin.Int + // Public signature: /KotlinBase.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + get + // CHECK: + // Mangled name: KotlinBase#(kotlin.Int){} + // Public signature: /KotlinBase.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + protected set + + // CHECK: + // Mangled name: KotlinBase{}c + // Public signature: /KotlinBase.c|-4416962153448040627[0] + // Public signature debug description: {}c + var c: Int + // CHECK JS_IR NATIVE: + // Mangled name: KotlinBase#(){} + // Public signature: /KotlinBase.c.|2368736057102379596[0] + // Public signature debug description: (){} + // CHECK JVM_IR: + // Mangled name: KotlinBase#(){}kotlin.Int + // Public signature: /KotlinBase.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + get + // CHECK: + // Mangled name: KotlinBase#(kotlin.Int){} + // Public signature: /KotlinBase.c.|-1986847627813258685[0] + // Public signature debug description: (kotlin.Int){} + private set + + // CHECK: + // Mangled name: KotlinBase{}d + // Public signature: /KotlinBase.d|5174763769109925331[0] + // Public signature debug description: {}d + var d: Int + // CHECK JS_IR NATIVE: + // Mangled name: KotlinBase#(){} + // Public signature: /KotlinBase.d.|-6701718004621354461[0] + // Public signature debug description: (){} + // CHECK JVM_IR: + // Mangled name: KotlinBase#(){}kotlin.Int + // Public signature: /KotlinBase.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + get + // CHECK: + // Mangled name: KotlinBase#(kotlin.Int){} + // Public signature: /KotlinBase.d.|4161969082808539024[0] + // Public signature debug description: (kotlin.Int){} + internal set + + // CHECK: + // Mangled name: KotlinBase{}e + // Public signature: /KotlinBase.e|-5812214850253973038[0] + // Public signature debug description: {}e + open var e: Int + // CHECK JS_IR NATIVE: + // Mangled name: KotlinBase#(){} + // Public signature: /KotlinBase.e.|-6737887868742748227[0] + // Public signature debug description: (){} + // CHECK JVM_IR: + // Mangled name: KotlinBase#(){}kotlin.Int + // Public signature: /KotlinBase.e.|7542680625372527774[0] + // Public signature debug description: (){}kotlin.Int + open get + // CHECK: + // Mangled name: KotlinBase#(kotlin.Int){} + // Public signature: /KotlinBase.e.|352344213206183027[0] + // Public signature debug description: (kotlin.Int){} + open set + + // CHECK: + // Mangled name: KotlinBase#(){} + // Public signature: /KotlinBase.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + diff --git a/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.__JavaChild.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.__JavaChild.fir.ir.txt new file mode 100644 index 00000000000..59039e3846d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.__JavaChild.fir.ir.txt @@ -0,0 +1,81 @@ +CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:JavaChild modality:OPEN visibility:public superTypes:[.KotlinBase] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.JavaChild + CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:.JavaChild [primary] + FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:field type:kotlin.Int visibility:private + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int [var] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.JavaChild) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.JavaChild + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.JavaChild, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (: kotlin.Int): kotlin.Unit declared in .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.JavaChild + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: kotlin.Int [var] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.JavaChild) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.JavaChild + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.JavaChild, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + protected final fun (: kotlin.Int): kotlin.Unit declared in .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.JavaChild + VALUE_PARAMETER name:value index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.Int [var] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.JavaChild) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.JavaChild + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final d: kotlin.Int [var] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.JavaChild) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.JavaChild + FUN FAKE_OVERRIDE name: visibility:internal modality:FINAL <> ($this:.JavaChild, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + internal final fun (: kotlin.Int): kotlin.Unit declared in .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.JavaChild + VALUE_PARAMETER name:value index:0 type:kotlin.Int + PROPERTY IR_EXTERNAL_JAVA_DECLARATION_STUB name:e visibility:public modality:OPEN [var] + overridden: + public open e: kotlin.Int [var] + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name: visibility:public modality:OPEN <> ($this:.JavaChild) returnType:kotlin.Int + correspondingProperty: PROPERTY IR_EXTERNAL_JAVA_DECLARATION_STUB name:e visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .KotlinBase + $this: VALUE_PARAMETER IR_EXTERNAL_JAVA_DECLARATION_STUB name: type:.JavaChild + FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name: visibility:public/*package*/ modality:OPEN <> ($this:.JavaChild, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY IR_EXTERNAL_JAVA_DECLARATION_STUB name:e visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .KotlinBase + $this: VALUE_PARAMETER IR_EXTERNAL_JAVA_DECLARATION_STUB name: type:.JavaChild + VALUE_PARAMETER name:value index:0 type:kotlin.Int + 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 .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:kotlin.Any + 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 .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE 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 .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.__JavaChild.ir.txt b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.__JavaChild.ir.txt new file mode 100644 index 00000000000..436772eb3ca --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.__JavaChild.ir.txt @@ -0,0 +1,86 @@ +CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:JavaChild modality:OPEN visibility:public superTypes:[.KotlinBase] + $this: VALUE_PARAMETER IR_EXTERNAL_JAVA_DECLARATION_STUB name: type:.JavaChild + CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:.JavaChild [primary] + 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 .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:kotlin.Any + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB 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 .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE 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 .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:kotlin.Any + PROPERTY IR_EXTERNAL_JAVA_DECLARATION_STUB name:e visibility:public modality:OPEN [var] + overridden: + public open e: kotlin.Int [var] + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public modality:OPEN <> ($this:.JavaChild) returnType:kotlin.Int + correspondingProperty: PROPERTY IR_EXTERNAL_JAVA_DECLARATION_STUB name:e visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .KotlinBase + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:.JavaChild + FUN IR_EXTERNAL_DECLARATION_STUB name: visibility:public/*package*/ modality:OPEN <> ($this:.JavaChild, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY IR_EXTERNAL_JAVA_DECLARATION_STUB name:e visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .KotlinBase + $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:.JavaChild + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: index:0 type:kotlin.Int + PROPERTY IR_EXTERNAL_DECLARATION_STUB name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final d: kotlin.Int [var] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.KotlinBase + FUN FAKE_OVERRIDE name: visibility:internal modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:d visibility:public modality:FINAL [fake_override,var] + overridden: + internal final fun (: kotlin.Int): kotlin.Unit declared in .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.KotlinBase + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: index:0 type:kotlin.Int + PROPERTY IR_EXTERNAL_DECLARATION_STUB name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.Int [var] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.KotlinBase + FUN FAKE_OVERRIDE name: visibility:invisible_fake modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:c visibility:public modality:FINAL [fake_override,var] + overridden: + private final fun (: kotlin.Int): kotlin.Unit declared in .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.KotlinBase + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: index:0 type:kotlin.Int + PROPERTY IR_EXTERNAL_DECLARATION_STUB name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: kotlin.Int [var] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.KotlinBase + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:b visibility:public modality:FINAL [fake_override,var] + overridden: + protected final fun (: kotlin.Int): kotlin.Unit declared in .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.KotlinBase + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: index:0 type:kotlin.Int + PROPERTY IR_EXTERNAL_DECLARATION_STUB name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int [var] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.KotlinBase + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY IR_EXTERNAL_DECLARATION_STUB name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (: kotlin.Int): kotlin.Unit declared in .KotlinBase + $this: VALUE_PARAMETER FAKE_OVERRIDE name: type:.KotlinBase + VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: index:0 type:kotlin.Int diff --git a/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.fir.ir.txt new file mode 100644 index 00000000000..c6c05a006d8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.fir.ir.txt @@ -0,0 +1,198 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:IndirectChild modality:FINAL visibility:public superTypes:[.JavaChild] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IndirectChild + CONSTRUCTOR visibility:public <> () returnType:.IndirectChild [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaChild' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:IndirectChild modality:FINAL visibility:public superTypes:[.JavaChild]' + 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 declared in .JavaChild + $this: VALUE_PARAMETER name: type:kotlin.Any + 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 .JavaChild + $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 .JavaChild + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .JavaChild + $this: VALUE_PARAMETER name: type:.KotlinBase + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (: kotlin.Int): kotlin.Unit declared in .JavaChild + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .JavaChild + $this: VALUE_PARAMETER name: type:.KotlinBase + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + protected final fun (value: kotlin.Int): kotlin.Unit declared in .JavaChild + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .JavaChild + $this: VALUE_PARAMETER name: type:.KotlinBase + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final d: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .JavaChild + $this: VALUE_PARAMETER name: type:.KotlinBase + FUN FAKE_OVERRIDE name: visibility:internal modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + internal final fun (value: kotlin.Int): kotlin.Unit declared in .JavaChild + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:e visibility:public modality:OPEN [fake_override,var] + overridden: + public open e: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.JavaChild) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .JavaChild + $this: VALUE_PARAMETER name: type:.JavaChild + FUN FAKE_OVERRIDE name: visibility:public/*package*/ modality:OPEN <> ($this:.JavaChild, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:OPEN [fake_override,var] + overridden: + public/*package*/ open fun (value: kotlin.Int): kotlin.Unit declared in .JavaChild + $this: VALUE_PARAMETER name: type:.JavaChild + VALUE_PARAMETER name:value index:0 type:kotlin.Int + CLASS CLASS name:KotlinBase modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinBase + PROPERTY name:a visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .KotlinBase' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinBase.' type=kotlin.Int origin=null + PROPERTY name:b visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .KotlinBase' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinBase.' type=kotlin.Int origin=null + PROPERTY name:c visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=3 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int + correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .KotlinBase' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinBase.' type=kotlin.Int origin=null + PROPERTY name:d visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=4 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int + correspondingProperty: PROPERTY name:d visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .KotlinBase' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:d visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinBase.' type=kotlin.Int origin=null + PROPERTY name:e visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=5 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinBase) returnType:kotlin.Int + correspondingProperty: PROPERTY name:e visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinBase' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:e visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinBase.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinBase [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinBase modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean 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/fakeOverrides/setterVisibliityWithJava.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.fir.kt.txt new file mode 100644 index 00000000000..3432c517bbb --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.fir.kt.txt @@ -0,0 +1,42 @@ +class IndirectChild : JavaChild { + constructor() /* primary */ { + super/*JavaChild*/() + /* () */ + + } + +} + +open class KotlinBase { + var a: Int + field = 1 + get + set + + var b: Int + field = 2 + get + protected set + + var c: Int + field = 3 + get + private set + + var d: Int + field = 4 + get + internal set + + open var e: Int + field = 5 + open get + open set + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} diff --git a/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.ir.txt b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.ir.txt new file mode 100644 index 00000000000..58c1af1a0af --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.ir.txt @@ -0,0 +1,198 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:IndirectChild modality:FINAL visibility:public superTypes:[.JavaChild] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IndirectChild + CONSTRUCTOR visibility:public <> () returnType:.IndirectChild [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaChild' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:IndirectChild modality:FINAL visibility:public superTypes:[.JavaChild]' + 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 declared in .JavaChild + $this: VALUE_PARAMETER name: type:kotlin.Any + 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 .JavaChild + $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 .JavaChild + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .JavaChild + $this: VALUE_PARAMETER name: type:.KotlinBase + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (: kotlin.Int): kotlin.Unit declared in .JavaChild + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .JavaChild + $this: VALUE_PARAMETER name: type:.KotlinBase + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + protected final fun (: kotlin.Int): kotlin.Unit declared in .JavaChild + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .JavaChild + $this: VALUE_PARAMETER name: type:.KotlinBase + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final d: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .JavaChild + $this: VALUE_PARAMETER name: type:.KotlinBase + FUN FAKE_OVERRIDE name: visibility:internal modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + internal final fun (: kotlin.Int): kotlin.Unit declared in .JavaChild + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:e visibility:public modality:OPEN [fake_override,var] + overridden: + public open e: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.JavaChild) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .JavaChild + $this: VALUE_PARAMETER name: type:.JavaChild + FUN FAKE_OVERRIDE name: visibility:public/*package*/ modality:OPEN <> ($this:.JavaChild, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:OPEN [fake_override,var] + overridden: + public/*package*/ open fun (: kotlin.Int): kotlin.Unit declared in .JavaChild + $this: VALUE_PARAMETER name: type:.JavaChild + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:KotlinBase modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinBase + PROPERTY name:a visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .KotlinBase' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinBase.' type=kotlin.Int origin=null + PROPERTY name:b visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .KotlinBase' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinBase.' type=kotlin.Int origin=null + PROPERTY name:c visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=3 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int + correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .KotlinBase' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinBase.' type=kotlin.Int origin=null + PROPERTY name:d visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=4 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinBase) returnType:kotlin.Int + correspondingProperty: PROPERTY name:d visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .KotlinBase' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:d visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinBase.' type=kotlin.Int origin=null + PROPERTY name:e visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=5 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinBase) returnType:kotlin.Int + correspondingProperty: PROPERTY name:e visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinBase' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinBase, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:e visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinBase + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinBase declared in .KotlinBase.' type=.KotlinBase origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinBase.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinBase [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinBase modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean 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/fakeOverrides/setterVisibliityWithJava.kt b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.kt new file mode 100644 index 00000000000..d8dfff56117 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.kt @@ -0,0 +1,26 @@ +// TARGET_BACKEND: JVM +// DUMP_EXTERNAL_CLASS: JavaChild +// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR +// ^^ different names of setter argument +// FILE: JavaChild.java + +public class JavaChild extends KotlinBase { + private int field; + public int getE() { return field } + /* package-private */ void setE(int value) { field = value; } +} + +// FILE: 1.kt + +open class KotlinBase { + var a: Int = 1 + var b: Int = 2 + protected set + var c: Int = 3 + private set + var d: Int = 4 + internal set + open var e: Int = 5 +} + +class IndirectChild : JavaChild() diff --git a/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.kt.txt b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.kt.txt new file mode 100644 index 00000000000..3432c517bbb --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.kt.txt @@ -0,0 +1,42 @@ +class IndirectChild : JavaChild { + constructor() /* primary */ { + super/*JavaChild*/() + /* () */ + + } + +} + +open class KotlinBase { + var a: Int + field = 1 + get + set + + var b: Int + field = 2 + get + protected set + + var c: Int + field = 3 + get + private set + + var d: Int + field = 4 + get + internal set + + open var e: Int + field = 5 + open get + open set + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} diff --git a/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.sig.kt.txt new file mode 100644 index 00000000000..eeb67c265ff --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.sig.kt.txt @@ -0,0 +1,178 @@ +// CHECK: +// Mangled name: IndirectChild +// Public signature: /IndirectChild|null[0] +class IndirectChild : JavaChild { + // CHECK: + // Mangled name: IndirectChild#(){} + // Public signature: /IndirectChild.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: IndirectChild{}a + // Public signature: /IndirectChild.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: IndirectChild#(){}kotlin.Int + // Public signature: /IndirectChild.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: IndirectChild#(kotlin.Int){} + // Public signature: /IndirectChild.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: IndirectChild{}b + // Public signature: /IndirectChild.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: IndirectChild#(){}kotlin.Int + // Public signature: /IndirectChild.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: IndirectChild#(kotlin.Int){} + // Public signature: /IndirectChild.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: IndirectChild{}c + // Public signature: /IndirectChild.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: Int + // CHECK JVM_IR: + // Mangled name: IndirectChild#(){}kotlin.Int + // Public signature: /IndirectChild.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: IndirectChild{}d + // Public signature: /IndirectChild.d|5174763769109925331[0] + // Public signature debug description: {}d + /* fake */ override var d: Int + // CHECK JVM_IR: + // Mangled name: IndirectChild#(){}kotlin.Int + // Public signature: /IndirectChild.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: IndirectChild#(kotlin.Int){} + // Public signature: /IndirectChild.d.|4161969082808539024[0] + // Public signature debug description: (kotlin.Int){} + internal /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: IndirectChild{}e + // Public signature: /IndirectChild.e|-5812214850253973038[0] + // Public signature debug description: {}e + /* fake */ override var e: Int + // CHECK JVM_IR: + // Mangled name: IndirectChild#(){}kotlin.Int + // Public signature: /IndirectChild.e.|7542680625372527774[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: IndirectChild#(kotlin.Int){} + // Public signature: /IndirectChild.e.|352344213206183027[0] + // Public signature debug description: (kotlin.Int){} + package /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: KotlinBase +// Public signature: /KotlinBase|null[0] +open class KotlinBase { + // CHECK: + // Mangled name: KotlinBase{}a + // Public signature: /KotlinBase.a|-1200697420457237799[0] + // Public signature debug description: {}a + var a: Int + // CHECK JVM_IR: + // Mangled name: KotlinBase#(){}kotlin.Int + // Public signature: /KotlinBase.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + // CHECK: + // Mangled name: KotlinBase#(kotlin.Int){} + // Public signature: /KotlinBase.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + set + + // CHECK: + // Mangled name: KotlinBase{}b + // Public signature: /KotlinBase.b|772347207915745207[0] + // Public signature debug description: {}b + var b: Int + // CHECK JVM_IR: + // Mangled name: KotlinBase#(){}kotlin.Int + // Public signature: /KotlinBase.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + get + // CHECK: + // Mangled name: KotlinBase#(kotlin.Int){} + // Public signature: /KotlinBase.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + protected set + + // CHECK: + // Mangled name: KotlinBase{}c + // Public signature: /KotlinBase.c|-4416962153448040627[0] + // Public signature debug description: {}c + var c: Int + // CHECK JVM_IR: + // Mangled name: KotlinBase#(){}kotlin.Int + // Public signature: /KotlinBase.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + get + // CHECK: + // Mangled name: KotlinBase#(kotlin.Int){} + // Public signature: /KotlinBase.c.|-1986847627813258685[0] + // Public signature debug description: (kotlin.Int){} + private set + + // CHECK: + // Mangled name: KotlinBase{}d + // Public signature: /KotlinBase.d|5174763769109925331[0] + // Public signature debug description: {}d + var d: Int + // CHECK JVM_IR: + // Mangled name: KotlinBase#(){}kotlin.Int + // Public signature: /KotlinBase.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + get + // CHECK: + // Mangled name: KotlinBase#(kotlin.Int){} + // Public signature: /KotlinBase.d.|4161969082808539024[0] + // Public signature debug description: (kotlin.Int){} + internal set + + // CHECK: + // Mangled name: KotlinBase{}e + // Public signature: /KotlinBase.e|-5812214850253973038[0] + // Public signature debug description: {}e + open var e: Int + // CHECK JVM_IR: + // Mangled name: KotlinBase#(){}kotlin.Int + // Public signature: /KotlinBase.e.|7542680625372527774[0] + // Public signature debug description: (){}kotlin.Int + open get + // CHECK: + // Mangled name: KotlinBase#(kotlin.Int){} + // Public signature: /KotlinBase.e.|352344213206183027[0] + // Public signature debug description: (kotlin.Int){} + open set + + // CHECK: + // Mangled name: KotlinBase#(){} + // Public signature: /KotlinBase.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/ClassicJvmIrTextTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/ClassicJvmIrTextTestGenerated.java index 033a8ff2ecd..0178528bd6b 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/ClassicJvmIrTextTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/ClassicJvmIrTextTestGenerated.java @@ -2727,6 +2727,18 @@ public class ClassicJvmIrTextTestGenerated extends AbstractClassicJvmIrTextTest public void testIntersectionWithRawType() { runTest("compiler/testData/ir/irText/fakeOverrides/intersectionWithRawType.kt"); } + + @Test + @TestMetadata("setterVisibliity.kt") + public void testSetterVisibliity() { + runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); + } + + @Test + @TestMetadata("setterVisibliityWithJava.kt") + public void testSetterVisibliityWithJava() { + runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.kt"); + } } @Nested diff --git a/compiler/tests-gen/org/jetbrains/kotlin/klib/KlibIrTextTestCaseGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/klib/KlibIrTextTestCaseGenerated.java index 4875d897e79..5ab5e70eb04 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/klib/KlibIrTextTestCaseGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/klib/KlibIrTextTestCaseGenerated.java @@ -2098,6 +2098,11 @@ public class KlibIrTextTestCaseGenerated extends AbstractKlibIrTextTestCase { public void testAllFilesPresentInFakeOverrides() { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); } + + @TestMetadata("setterVisibliity.kt") + public void testSetterVisibliity() { + runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); + } } @TestMetadata("compiler/testData/ir/irText/firProblems") diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirLightTreeJsIrTextTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirLightTreeJsIrTextTestGenerated.java index f3ed940432b..2112baa48d0 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirLightTreeJsIrTextTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirLightTreeJsIrTextTestGenerated.java @@ -2355,6 +2355,12 @@ public class FirLightTreeJsIrTextTestGenerated extends AbstractFirLightTreeJsIrT public void testAllFilesPresentInFakeOverrides() { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); } + + @Test + @TestMetadata("setterVisibliity.kt") + public void testSetterVisibliity() { + runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); + } } @Nested diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirPsiJsIrTextTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirPsiJsIrTextTestGenerated.java index d8f1439f6b3..38ae05a6a20 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirPsiJsIrTextTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirPsiJsIrTextTestGenerated.java @@ -2355,6 +2355,12 @@ public class FirPsiJsIrTextTestGenerated extends AbstractFirPsiJsIrTextTest { public void testAllFilesPresentInFakeOverrides() { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); } + + @Test + @TestMetadata("setterVisibliity.kt") + public void testSetterVisibliity() { + runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); + } } @Nested diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/ClassicJsIrTextTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/ClassicJsIrTextTestGenerated.java index 3319879532c..d2e790bb09c 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/ClassicJsIrTextTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/ClassicJsIrTextTestGenerated.java @@ -2355,6 +2355,12 @@ public class ClassicJsIrTextTestGenerated extends AbstractClassicJsIrTextTest { public void testAllFilesPresentInFakeOverrides() { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); } + + @Test + @TestMetadata("setterVisibliity.kt") + public void testSetterVisibliity() { + runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); + } } @Nested diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/ClassicNativeIrTextTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/ClassicNativeIrTextTestGenerated.java index 7a9c2e3f816..647019e438b 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/ClassicNativeIrTextTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/ClassicNativeIrTextTestGenerated.java @@ -2361,6 +2361,12 @@ public class ClassicNativeIrTextTestGenerated extends AbstractClassicNativeIrTex public void testAllFilesPresentInFakeOverrides() { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); } + + @Test + @TestMetadata("setterVisibliity.kt") + public void testSetterVisibliity() { + runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); + } } @Nested diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirLightTreeNativeIrTextTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirLightTreeNativeIrTextTestGenerated.java index 76e3531959f..1c509ed7b0c 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirLightTreeNativeIrTextTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirLightTreeNativeIrTextTestGenerated.java @@ -2361,6 +2361,12 @@ public class FirLightTreeNativeIrTextTestGenerated extends AbstractFirLightTreeN public void testAllFilesPresentInFakeOverrides() { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); } + + @Test + @TestMetadata("setterVisibliity.kt") + public void testSetterVisibliity() { + runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); + } } @Nested diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirPsiNativeIrTextTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirPsiNativeIrTextTestGenerated.java index 43a8e6e06df..fa47b56a916 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirPsiNativeIrTextTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirPsiNativeIrTextTestGenerated.java @@ -2361,6 +2361,12 @@ public class FirPsiNativeIrTextTestGenerated extends AbstractFirPsiNativeIrTextT public void testAllFilesPresentInFakeOverrides() { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); } + + @Test + @TestMetadata("setterVisibliity.kt") + public void testSetterVisibliity() { + runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); + } } @Nested