[IRFakeOverrides] Fix accessors visibilities

^KT-65801
This commit is contained in:
Pavel Kunyavskiy
2024-02-21 12:26:00 +01:00
committed by Space Team
parent acee8da283
commit c991535756
23 changed files with 1413 additions and 5 deletions
@@ -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
@@ -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
@@ -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")
@@ -0,0 +1,198 @@
FILE fqName:<root> fileName:/1.kt
CLASS CLASS name:DirectChild modality:FINAL visibility:public superTypes:[<root>.KotlinBase]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.DirectChild
CONSTRUCTOR visibility:public <> () returnType:<root>.DirectChild [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.KotlinBase'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DirectChild modality:FINAL visibility:public superTypes:[<root>.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 <root>.KotlinBase
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
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 <root>.KotlinBase
$this: VALUE_PARAMETER name:<this> 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 <root>.KotlinBase
$this: VALUE_PARAMETER name:<this> 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:<get-a> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-a> (): kotlin.Int declared in <root>.KotlinBase
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
FUN FAKE_OVERRIDE name:<set-a> visibility:public modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <set-a> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.KotlinBase
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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:<get-b> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-b> (): kotlin.Int declared in <root>.KotlinBase
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
FUN FAKE_OVERRIDE name:<set-b> visibility:protected modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var]
overridden:
protected final fun <set-b> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.KotlinBase
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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:<get-c> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-c> (): kotlin.Int declared in <root>.KotlinBase
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var]
overridden:
public final d: kotlin.Int
FUN FAKE_OVERRIDE name:<get-d> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-d> (): kotlin.Int declared in <root>.KotlinBase
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
FUN FAKE_OVERRIDE name:<set-d> visibility:internal modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var]
overridden:
internal final fun <set-d> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.KotlinBase
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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:<get-e> visibility:public modality:OPEN <> ($this:<root>.KotlinBase) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:OPEN [fake_override,var]
overridden:
public open fun <get-e> (): kotlin.Int declared in <root>.KotlinBase
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
FUN FAKE_OVERRIDE name:<set-e> visibility:public modality:OPEN <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:OPEN [fake_override,var]
overridden:
public open fun <set-e> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.KotlinBase
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
CLASS CLASS name:KotlinBase modality:OPEN visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.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:<get-a> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int
correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-a> (): kotlin.Int declared in <root>.KotlinBase'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<get-a>' type=<root>.KotlinBase origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-a> visibility:public modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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 '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<set-a>' type=<root>.KotlinBase origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.KotlinBase.<set-a>' 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:<get-b> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int
correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-b> (): kotlin.Int declared in <root>.KotlinBase'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<get-b>' type=<root>.KotlinBase origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-b> visibility:protected modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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 '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<set-b>' type=<root>.KotlinBase origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.KotlinBase.<set-b>' 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:<get-c> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int
correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-c> (): kotlin.Int declared in <root>.KotlinBase'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<get-c>' type=<root>.KotlinBase origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-c> visibility:private modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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 '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<set-c>' type=<root>.KotlinBase origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.KotlinBase.<set-c>' 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:<get-d> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int
correspondingProperty: PROPERTY name:d visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-d> (): kotlin.Int declared in <root>.KotlinBase'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<get-d>' type=<root>.KotlinBase origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-d> visibility:internal modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:d visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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 '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<set-d>' type=<root>.KotlinBase origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.KotlinBase.<set-d>' 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:<get-e> visibility:public modality:OPEN <> ($this:<root>.KotlinBase) returnType:kotlin.Int
correspondingProperty: PROPERTY name:e visibility:public modality:OPEN [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
BLOCK_BODY
RETURN type=kotlin.Nothing from='public open fun <get-e> (): kotlin.Int declared in <root>.KotlinBase'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<get-e>' type=<root>.KotlinBase origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-e> visibility:public modality:OPEN <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:e visibility:public modality:OPEN [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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 '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<set-e>' type=<root>.KotlinBase origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.KotlinBase.<set-e>' type=kotlin.Int origin=null
CONSTRUCTOR visibility:public <> () returnType:<root>.KotlinBase [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () 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:<this> type:kotlin.Any
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:<this> 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:<this> type:kotlin.Any
@@ -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()
@@ -0,0 +1,42 @@
class DirectChild : KotlinBase {
constructor() /* primary */ {
super/*KotlinBase*/()
/* <init>() */
}
}
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*/()
/* <init>() */
}
}
@@ -0,0 +1,219 @@
// CHECK:
// Mangled name: DirectChild
// Public signature: /DirectChild|null[0]
class DirectChild : KotlinBase {
// CHECK:
// Mangled name: DirectChild#<init>(){}
// Public signature: /DirectChild.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
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#<get-a>(){}
// Public signature: /DirectChild.a.<get-a>|6785176174175479410[0]
// Public signature debug description: <get-a>(){}
// CHECK JVM_IR:
// Mangled name: DirectChild#<get-a>(){}kotlin.Int
// Public signature: /DirectChild.a.<get-a>|4232747788241509192[0]
// Public signature debug description: <get-a>(){}kotlin.Int
/* fake */ override get(): Int
// CHECK:
// Mangled name: DirectChild#<set-a>(kotlin.Int){}
// Public signature: /DirectChild.a.<set-a>|-6358787123203981221[0]
// Public signature debug description: <set-a>(kotlin.Int){}
/* fake */ override set(<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#<get-b>(){}
// Public signature: /DirectChild.b.<get-b>|812004636995167743[0]
// Public signature debug description: <get-b>(){}
// CHECK JVM_IR:
// Mangled name: DirectChild#<get-b>(){}kotlin.Int
// Public signature: /DirectChild.b.<get-b>|-2902143276921469679[0]
// Public signature debug description: <get-b>(){}kotlin.Int
/* fake */ override get(): Int
// CHECK:
// Mangled name: DirectChild#<set-b>(kotlin.Int){}
// Public signature: /DirectChild.b.<set-b>|393614520529327556[0]
// Public signature debug description: <set-b>(kotlin.Int){}
protected /* fake */ override set(<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#<get-c>(){}
// Public signature: /DirectChild.c.<get-c>|2368736057102379596[0]
// Public signature debug description: <get-c>(){}
// CHECK JVM_IR:
// Mangled name: DirectChild#<get-c>(){}kotlin.Int
// Public signature: /DirectChild.c.<get-c>|-2440337234483931882[0]
// Public signature debug description: <get-c>(){}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#<get-d>(){}
// Public signature: /DirectChild.d.<get-d>|-6701718004621354461[0]
// Public signature debug description: <get-d>(){}
// CHECK JVM_IR:
// Mangled name: DirectChild#<get-d>(){}kotlin.Int
// Public signature: /DirectChild.d.<get-d>|-3703416348690628760[0]
// Public signature debug description: <get-d>(){}kotlin.Int
/* fake */ override get(): Int
// CHECK:
// Mangled name: DirectChild#<set-d>(kotlin.Int){}
// Public signature: /DirectChild.d.<set-d>|4161969082808539024[0]
// Public signature debug description: <set-d>(kotlin.Int){}
internal /* fake */ override set(<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#<get-e>(){}
// Public signature: /DirectChild.e.<get-e>|-6737887868742748227[0]
// Public signature debug description: <get-e>(){}
// CHECK JVM_IR:
// Mangled name: DirectChild#<get-e>(){}kotlin.Int
// Public signature: /DirectChild.e.<get-e>|7542680625372527774[0]
// Public signature debug description: <get-e>(){}kotlin.Int
/* fake */ override get(): Int
// CHECK:
// Mangled name: DirectChild#<set-e>(kotlin.Int){}
// Public signature: /DirectChild.e.<set-e>|352344213206183027[0]
// Public signature debug description: <set-e>(kotlin.Int){}
/* fake */ override set(<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#<get-a>(){}
// Public signature: /KotlinBase.a.<get-a>|6785176174175479410[0]
// Public signature debug description: <get-a>(){}
// CHECK JVM_IR:
// Mangled name: KotlinBase#<get-a>(){}kotlin.Int
// Public signature: /KotlinBase.a.<get-a>|4232747788241509192[0]
// Public signature debug description: <get-a>(){}kotlin.Int
get
// CHECK:
// Mangled name: KotlinBase#<set-a>(kotlin.Int){}
// Public signature: /KotlinBase.a.<set-a>|-6358787123203981221[0]
// Public signature debug description: <set-a>(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#<get-b>(){}
// Public signature: /KotlinBase.b.<get-b>|812004636995167743[0]
// Public signature debug description: <get-b>(){}
// CHECK JVM_IR:
// Mangled name: KotlinBase#<get-b>(){}kotlin.Int
// Public signature: /KotlinBase.b.<get-b>|-2902143276921469679[0]
// Public signature debug description: <get-b>(){}kotlin.Int
get
// CHECK:
// Mangled name: KotlinBase#<set-b>(kotlin.Int){}
// Public signature: /KotlinBase.b.<set-b>|393614520529327556[0]
// Public signature debug description: <set-b>(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#<get-c>(){}
// Public signature: /KotlinBase.c.<get-c>|2368736057102379596[0]
// Public signature debug description: <get-c>(){}
// CHECK JVM_IR:
// Mangled name: KotlinBase#<get-c>(){}kotlin.Int
// Public signature: /KotlinBase.c.<get-c>|-2440337234483931882[0]
// Public signature debug description: <get-c>(){}kotlin.Int
get
// CHECK:
// Mangled name: KotlinBase#<set-c>(kotlin.Int){}
// Public signature: /KotlinBase.c.<set-c>|-1986847627813258685[0]
// Public signature debug description: <set-c>(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#<get-d>(){}
// Public signature: /KotlinBase.d.<get-d>|-6701718004621354461[0]
// Public signature debug description: <get-d>(){}
// CHECK JVM_IR:
// Mangled name: KotlinBase#<get-d>(){}kotlin.Int
// Public signature: /KotlinBase.d.<get-d>|-3703416348690628760[0]
// Public signature debug description: <get-d>(){}kotlin.Int
get
// CHECK:
// Mangled name: KotlinBase#<set-d>(kotlin.Int){}
// Public signature: /KotlinBase.d.<set-d>|4161969082808539024[0]
// Public signature debug description: <set-d>(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#<get-e>(){}
// Public signature: /KotlinBase.e.<get-e>|-6737887868742748227[0]
// Public signature debug description: <get-e>(){}
// CHECK JVM_IR:
// Mangled name: KotlinBase#<get-e>(){}kotlin.Int
// Public signature: /KotlinBase.e.<get-e>|7542680625372527774[0]
// Public signature debug description: <get-e>(){}kotlin.Int
open get
// CHECK:
// Mangled name: KotlinBase#<set-e>(kotlin.Int){}
// Public signature: /KotlinBase.e.<set-e>|352344213206183027[0]
// Public signature debug description: <set-e>(kotlin.Int){}
open set
// CHECK:
// Mangled name: KotlinBase#<init>(){}
// Public signature: /KotlinBase.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
}
@@ -0,0 +1,81 @@
CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:JavaChild modality:OPEN visibility:public superTypes:[<root>.KotlinBase]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.JavaChild
CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:<root>.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:<get-a> visibility:public modality:FINAL <> ($this:<root>.JavaChild) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-a> (): kotlin.Int declared in <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:<root>.JavaChild
FUN FAKE_OVERRIDE name:<set-a> visibility:public modality:FINAL <> ($this:<root>.JavaChild, <set-?>:kotlin.Int) returnType:kotlin.Unit [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <set-a> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:<root>.JavaChild
VALUE_PARAMETER name:<set-?> 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:<get-b> visibility:public modality:FINAL <> ($this:<root>.JavaChild) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-b> (): kotlin.Int declared in <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:<root>.JavaChild
FUN FAKE_OVERRIDE name:<set-b> visibility:protected modality:FINAL <> ($this:<root>.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 <set-b> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:<root>.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:<get-c> visibility:public modality:FINAL <> ($this:<root>.JavaChild) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-c> (): kotlin.Int declared in <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:<root>.JavaChild
PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var]
overridden:
public final d: kotlin.Int [var]
FUN FAKE_OVERRIDE name:<get-d> visibility:public modality:FINAL <> ($this:<root>.JavaChild) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-d> (): kotlin.Int declared in <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:<root>.JavaChild
FUN FAKE_OVERRIDE name:<set-d> visibility:internal modality:FINAL <> ($this:<root>.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 <set-d> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:<root>.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:<get-e> visibility:public modality:OPEN <> ($this:<root>.JavaChild) returnType:kotlin.Int
correspondingProperty: PROPERTY IR_EXTERNAL_JAVA_DECLARATION_STUB name:e visibility:public modality:OPEN [var]
overridden:
public open fun <get-e> (): kotlin.Int declared in <root>.KotlinBase
$this: VALUE_PARAMETER IR_EXTERNAL_JAVA_DECLARATION_STUB name:<this> type:<root>.JavaChild
FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:<set-e> visibility:public/*package*/ modality:OPEN <> ($this:<root>.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 <set-e> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.KotlinBase
$this: VALUE_PARAMETER IR_EXTERNAL_JAVA_DECLARATION_STUB name:<this> type:<root>.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 <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:kotlin.Any
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 <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> 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 <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:kotlin.Any
@@ -0,0 +1,86 @@
CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:JavaChild modality:OPEN visibility:public superTypes:[<root>.KotlinBase]
$this: VALUE_PARAMETER IR_EXTERNAL_JAVA_DECLARATION_STUB name:<this> type:<root>.JavaChild
CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:public <> () returnType:<root>.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 <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> 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 <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> 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 <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> 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:<get-e> visibility:public modality:OPEN <> ($this:<root>.JavaChild) returnType:kotlin.Int
correspondingProperty: PROPERTY IR_EXTERNAL_JAVA_DECLARATION_STUB name:e visibility:public modality:OPEN [var]
overridden:
public open fun <get-e> (): kotlin.Int declared in <root>.KotlinBase
$this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:<this> type:<root>.JavaChild
FUN IR_EXTERNAL_DECLARATION_STUB name:<set-e> visibility:public/*package*/ modality:OPEN <> ($this:<root>.JavaChild, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY IR_EXTERNAL_JAVA_DECLARATION_STUB name:e visibility:public modality:OPEN [var]
overridden:
public open fun <set-e> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.KotlinBase
$this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:<this> type:<root>.JavaChild
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:<set-?> 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:<get-d> visibility:public modality:FINAL <> ($this:<root>.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 <get-d> (): kotlin.Int declared in <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:<root>.KotlinBase
FUN FAKE_OVERRIDE name:<set-d> visibility:internal modality:FINAL <> ($this:<root>.KotlinBase, <set-?>: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 <set-d> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:<root>.KotlinBase
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:<set-?> 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:<get-c> visibility:public modality:FINAL <> ($this:<root>.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 <get-c> (): kotlin.Int declared in <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:<root>.KotlinBase
FUN FAKE_OVERRIDE name:<set-c> visibility:invisible_fake modality:FINAL <> ($this:<root>.KotlinBase, <set-?>: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 <set-c> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:<root>.KotlinBase
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:<set-?> 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:<get-b> visibility:public modality:FINAL <> ($this:<root>.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 <get-b> (): kotlin.Int declared in <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:<root>.KotlinBase
FUN FAKE_OVERRIDE name:<set-b> visibility:protected modality:FINAL <> ($this:<root>.KotlinBase, <set-?>: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 <set-b> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:<root>.KotlinBase
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:<set-?> 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:<get-a> visibility:public modality:FINAL <> ($this:<root>.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 <get-a> (): kotlin.Int declared in <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:<root>.KotlinBase
FUN FAKE_OVERRIDE name:<set-a> visibility:public modality:FINAL <> ($this:<root>.KotlinBase, <set-?>: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 <set-a> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.KotlinBase
$this: VALUE_PARAMETER FAKE_OVERRIDE name:<this> type:<root>.KotlinBase
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:<set-?> index:0 type:kotlin.Int
@@ -0,0 +1,198 @@
FILE fqName:<root> fileName:/1.kt
CLASS CLASS name:IndirectChild modality:FINAL visibility:public superTypes:[<root>.JavaChild]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IndirectChild
CONSTRUCTOR visibility:public <> () returnType:<root>.IndirectChild [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.JavaChild'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:IndirectChild modality:FINAL visibility:public superTypes:[<root>.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 <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
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 <root>.JavaChild
$this: VALUE_PARAMETER name:<this> 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 <root>.JavaChild
$this: VALUE_PARAMETER name:<this> 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:<get-a> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-a> (): kotlin.Int declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
FUN FAKE_OVERRIDE name:<set-a> visibility:public modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <set-a> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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:<get-b> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-b> (): kotlin.Int declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
FUN FAKE_OVERRIDE name:<set-b> visibility:protected modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var]
overridden:
protected final fun <set-b> (value: kotlin.Int): kotlin.Unit declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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:<get-c> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-c> (): kotlin.Int declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var]
overridden:
public final d: kotlin.Int
FUN FAKE_OVERRIDE name:<get-d> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-d> (): kotlin.Int declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
FUN FAKE_OVERRIDE name:<set-d> visibility:internal modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var]
overridden:
internal final fun <set-d> (value: kotlin.Int): kotlin.Unit declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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:<get-e> visibility:public modality:OPEN <> ($this:<root>.JavaChild) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:OPEN [fake_override,var]
overridden:
public open fun <get-e> (): kotlin.Int declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.JavaChild
FUN FAKE_OVERRIDE name:<set-e> visibility:public/*package*/ modality:OPEN <> ($this:<root>.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 <set-e> (value: kotlin.Int): kotlin.Unit declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.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:<this> type:<root>.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:<get-a> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int
correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-a> (): kotlin.Int declared in <root>.KotlinBase'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<get-a>' type=<root>.KotlinBase origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-a> visibility:public modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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 '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<set-a>' type=<root>.KotlinBase origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.KotlinBase.<set-a>' 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:<get-b> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int
correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-b> (): kotlin.Int declared in <root>.KotlinBase'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<get-b>' type=<root>.KotlinBase origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-b> visibility:protected modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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 '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<set-b>' type=<root>.KotlinBase origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.KotlinBase.<set-b>' 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:<get-c> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int
correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-c> (): kotlin.Int declared in <root>.KotlinBase'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<get-c>' type=<root>.KotlinBase origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-c> visibility:private modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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 '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<set-c>' type=<root>.KotlinBase origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.KotlinBase.<set-c>' 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:<get-d> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int
correspondingProperty: PROPERTY name:d visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-d> (): kotlin.Int declared in <root>.KotlinBase'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<get-d>' type=<root>.KotlinBase origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-d> visibility:internal modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:d visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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 '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<set-d>' type=<root>.KotlinBase origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.KotlinBase.<set-d>' 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:<get-e> visibility:public modality:OPEN <> ($this:<root>.KotlinBase) returnType:kotlin.Int
correspondingProperty: PROPERTY name:e visibility:public modality:OPEN [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
BLOCK_BODY
RETURN type=kotlin.Nothing from='public open fun <get-e> (): kotlin.Int declared in <root>.KotlinBase'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<get-e>' type=<root>.KotlinBase origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-e> visibility:public modality:OPEN <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:e visibility:public modality:OPEN [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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 '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<set-e>' type=<root>.KotlinBase origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.KotlinBase.<set-e>' type=kotlin.Int origin=null
CONSTRUCTOR visibility:public <> () returnType:<root>.KotlinBase [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () 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:<this> type:kotlin.Any
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:<this> 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:<this> type:kotlin.Any
@@ -0,0 +1,42 @@
class IndirectChild : JavaChild {
constructor() /* primary */ {
super/*JavaChild*/()
/* <init>() */
}
}
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*/()
/* <init>() */
}
}
@@ -0,0 +1,198 @@
FILE fqName:<root> fileName:/1.kt
CLASS CLASS name:IndirectChild modality:FINAL visibility:public superTypes:[<root>.JavaChild]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IndirectChild
CONSTRUCTOR visibility:public <> () returnType:<root>.IndirectChild [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.JavaChild'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:IndirectChild modality:FINAL visibility:public superTypes:[<root>.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 <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
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 <root>.JavaChild
$this: VALUE_PARAMETER name:<this> 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 <root>.JavaChild
$this: VALUE_PARAMETER name:<this> 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:<get-a> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-a> (): kotlin.Int declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
FUN FAKE_OVERRIDE name:<set-a> visibility:public modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <set-a> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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:<get-b> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-b> (): kotlin.Int declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
FUN FAKE_OVERRIDE name:<set-b> visibility:protected modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var]
overridden:
protected final fun <set-b> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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:<get-c> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-c> (): kotlin.Int declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var]
overridden:
public final d: kotlin.Int
FUN FAKE_OVERRIDE name:<get-d> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var]
overridden:
public final fun <get-d> (): kotlin.Int declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
FUN FAKE_OVERRIDE name:<set-d> visibility:internal modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var]
overridden:
internal final fun <set-d> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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:<get-e> visibility:public modality:OPEN <> ($this:<root>.JavaChild) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:OPEN [fake_override,var]
overridden:
public open fun <get-e> (): kotlin.Int declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.JavaChild
FUN FAKE_OVERRIDE name:<set-e> visibility:public/*package*/ modality:OPEN <> ($this:<root>.JavaChild, <set-?>: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 <set-e> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.JavaChild
$this: VALUE_PARAMETER name:<this> type:<root>.JavaChild
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
CLASS CLASS name:KotlinBase modality:OPEN visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.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:<get-a> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int
correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-a> (): kotlin.Int declared in <root>.KotlinBase'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<get-a>' type=<root>.KotlinBase origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-a> visibility:public modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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 '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<set-a>' type=<root>.KotlinBase origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.KotlinBase.<set-a>' 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:<get-b> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int
correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-b> (): kotlin.Int declared in <root>.KotlinBase'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<get-b>' type=<root>.KotlinBase origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-b> visibility:protected modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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 '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<set-b>' type=<root>.KotlinBase origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.KotlinBase.<set-b>' 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:<get-c> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int
correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-c> (): kotlin.Int declared in <root>.KotlinBase'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<get-c>' type=<root>.KotlinBase origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-c> visibility:private modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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 '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<set-c>' type=<root>.KotlinBase origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.KotlinBase.<set-c>' 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:<get-d> visibility:public modality:FINAL <> ($this:<root>.KotlinBase) returnType:kotlin.Int
correspondingProperty: PROPERTY name:d visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-d> (): kotlin.Int declared in <root>.KotlinBase'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<get-d>' type=<root>.KotlinBase origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-d> visibility:internal modality:FINAL <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:d visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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 '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<set-d>' type=<root>.KotlinBase origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.KotlinBase.<set-d>' 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:<get-e> visibility:public modality:OPEN <> ($this:<root>.KotlinBase) returnType:kotlin.Int
correspondingProperty: PROPERTY name:e visibility:public modality:OPEN [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
BLOCK_BODY
RETURN type=kotlin.Nothing from='public open fun <get-e> (): kotlin.Int declared in <root>.KotlinBase'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<get-e>' type=<root>.KotlinBase origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-e> visibility:public modality:OPEN <> ($this:<root>.KotlinBase, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:e visibility:public modality:OPEN [var]
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinBase
VALUE_PARAMETER name:<set-?> 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 '<this>: <root>.KotlinBase declared in <root>.KotlinBase.<set-e>' type=<root>.KotlinBase origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.KotlinBase.<set-e>' type=kotlin.Int origin=null
CONSTRUCTOR visibility:public <> () returnType:<root>.KotlinBase [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () 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:<this> type:kotlin.Any
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:<this> 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:<this> type:kotlin.Any
@@ -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()
@@ -0,0 +1,42 @@
class IndirectChild : JavaChild {
constructor() /* primary */ {
super/*JavaChild*/()
/* <init>() */
}
}
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*/()
/* <init>() */
}
}
@@ -0,0 +1,178 @@
// CHECK:
// Mangled name: IndirectChild
// Public signature: /IndirectChild|null[0]
class IndirectChild : JavaChild {
// CHECK:
// Mangled name: IndirectChild#<init>(){}
// Public signature: /IndirectChild.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
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#<get-a>(){}kotlin.Int
// Public signature: /IndirectChild.a.<get-a>|4232747788241509192[0]
// Public signature debug description: <get-a>(){}kotlin.Int
/* fake */ override get(): Int
// CHECK:
// Mangled name: IndirectChild#<set-a>(kotlin.Int){}
// Public signature: /IndirectChild.a.<set-a>|-6358787123203981221[0]
// Public signature debug description: <set-a>(kotlin.Int){}
/* fake */ override set(<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#<get-b>(){}kotlin.Int
// Public signature: /IndirectChild.b.<get-b>|-2902143276921469679[0]
// Public signature debug description: <get-b>(){}kotlin.Int
/* fake */ override get(): Int
// CHECK:
// Mangled name: IndirectChild#<set-b>(kotlin.Int){}
// Public signature: /IndirectChild.b.<set-b>|393614520529327556[0]
// Public signature debug description: <set-b>(kotlin.Int){}
protected /* fake */ override set(<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#<get-c>(){}kotlin.Int
// Public signature: /IndirectChild.c.<get-c>|-2440337234483931882[0]
// Public signature debug description: <get-c>(){}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#<get-d>(){}kotlin.Int
// Public signature: /IndirectChild.d.<get-d>|-3703416348690628760[0]
// Public signature debug description: <get-d>(){}kotlin.Int
/* fake */ override get(): Int
// CHECK:
// Mangled name: IndirectChild#<set-d>(kotlin.Int){}
// Public signature: /IndirectChild.d.<set-d>|4161969082808539024[0]
// Public signature debug description: <set-d>(kotlin.Int){}
internal /* fake */ override set(<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#<get-e>(){}kotlin.Int
// Public signature: /IndirectChild.e.<get-e>|7542680625372527774[0]
// Public signature debug description: <get-e>(){}kotlin.Int
/* fake */ override get(): Int
// CHECK:
// Mangled name: IndirectChild#<set-e>(kotlin.Int){}
// Public signature: /IndirectChild.e.<set-e>|352344213206183027[0]
// Public signature debug description: <set-e>(kotlin.Int){}
package /* fake */ override set(<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#<get-a>(){}kotlin.Int
// Public signature: /KotlinBase.a.<get-a>|4232747788241509192[0]
// Public signature debug description: <get-a>(){}kotlin.Int
get
// CHECK:
// Mangled name: KotlinBase#<set-a>(kotlin.Int){}
// Public signature: /KotlinBase.a.<set-a>|-6358787123203981221[0]
// Public signature debug description: <set-a>(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#<get-b>(){}kotlin.Int
// Public signature: /KotlinBase.b.<get-b>|-2902143276921469679[0]
// Public signature debug description: <get-b>(){}kotlin.Int
get
// CHECK:
// Mangled name: KotlinBase#<set-b>(kotlin.Int){}
// Public signature: /KotlinBase.b.<set-b>|393614520529327556[0]
// Public signature debug description: <set-b>(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#<get-c>(){}kotlin.Int
// Public signature: /KotlinBase.c.<get-c>|-2440337234483931882[0]
// Public signature debug description: <get-c>(){}kotlin.Int
get
// CHECK:
// Mangled name: KotlinBase#<set-c>(kotlin.Int){}
// Public signature: /KotlinBase.c.<set-c>|-1986847627813258685[0]
// Public signature debug description: <set-c>(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#<get-d>(){}kotlin.Int
// Public signature: /KotlinBase.d.<get-d>|-3703416348690628760[0]
// Public signature debug description: <get-d>(){}kotlin.Int
get
// CHECK:
// Mangled name: KotlinBase#<set-d>(kotlin.Int){}
// Public signature: /KotlinBase.d.<set-d>|4161969082808539024[0]
// Public signature debug description: <set-d>(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#<get-e>(){}kotlin.Int
// Public signature: /KotlinBase.e.<get-e>|7542680625372527774[0]
// Public signature debug description: <get-e>(){}kotlin.Int
open get
// CHECK:
// Mangled name: KotlinBase#<set-e>(kotlin.Int){}
// Public signature: /KotlinBase.e.<set-e>|352344213206183027[0]
// Public signature debug description: <set-e>(kotlin.Int){}
open set
// CHECK:
// Mangled name: KotlinBase#<init>(){}
// Public signature: /KotlinBase.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
}
@@ -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
@@ -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")
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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