FILE fqName:foo fileName:/main.kt CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:foo.A CONSTRUCTOR visibility:public <> (s:kotlin.String) returnType:foo.A [primary] VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' PROPERTY name:s visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final] EXPRESSION_BODY GET_VAR 's: kotlin.String declared in foo.A.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.String correspondingProperty: PROPERTY name:s visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:foo.A BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in foo.A' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]' type=kotlin.String origin=null receiver: GET_VAR ': foo.A declared in foo.A.' type=foo.A origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[bar.Base] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:foo.Derived CONSTRUCTOR visibility:public <> () returnType:foo.Derived [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in bar.Base' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[bar.Base]' FUN name:foo visibility:protected modality:OPEN <> ($this:foo.Derived) returnType:kotlin.Unit overridden: protected/*protected and package*/ open fun foo (): kotlin.Unit declared in bar.Base $this: VALUE_PARAMETER name: type:foo.Derived BLOCK_BODY CALL 'public open fun set (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): kotlin.Unit [operator] declared in java.lang.reflect.Field' type=kotlin.Unit origin=null $this: CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=java.lang.reflect.Field origin=EXCLEXCL : java.lang.reflect.Field arg0: CALL 'public final fun (): java.lang.reflect.Field? declared in kotlin.reflect.jvm.ReflectJvmMapping' type=java.lang.reflect.Field? origin=GET_PROPERTY $receiver: PROPERTY_REFERENCE 'protected/*protected and package*/ open a: @[FlexibleNullability] foo.A? [var]' field='FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] foo.A? visibility:protected/*protected and package*/' getter='protected/*protected and package*/ open fun (): @[FlexibleNullability] foo.A? declared in bar.Base' setter='protected/*protected and package*/ open fun (: @[FlexibleNullability] foo.A?): kotlin.Unit declared in bar.Base' type=kotlin.reflect.KMutableProperty1 origin=null <1>: <2>: p0: GET_VAR ': foo.Derived declared in foo.Derived.foo' type=foo.Derived origin=null p1: CONSTRUCTOR_CALL 'public constructor (s: kotlin.String) [primary] declared in foo.A' type=foo.A origin=null s: CONST String type=kotlin.String value="OK" FUN name:box visibility:public modality:FINAL <> ($this:foo.Derived) returnType:kotlin.String $this: VALUE_PARAMETER name: type:foo.Derived BLOCK_BODY CALL 'protected open fun foo (): kotlin.Unit declared in foo.Derived' type=kotlin.Unit origin=null $this: GET_VAR ': foo.Derived declared in foo.Derived.box' type=foo.Derived origin=null RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in foo.Derived' CALL 'public final fun (): kotlin.String declared in foo.A' type=kotlin.String origin=GET_PROPERTY $this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] foo.A? visibility:protected/*protected and package*/' type=@[FlexibleNullability] foo.A? origin=GET_PROPERTY receiver: GET_VAR ': foo.Derived declared in foo.Derived.box' type=foo.Derived origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in bar.Base $this: VALUE_PARAMETER name: type:kotlin.Any VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] overridden: public open fun hashCode (): kotlin.Int [fake_override] declared in bar.Base $this: VALUE_PARAMETER name: type:kotlin.Any FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String [fake_override] declared in bar.Base $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in foo' CALL 'public final fun box (): kotlin.String declared in foo.Derived' type=kotlin.String origin=null $this: CONSTRUCTOR_CALL 'public constructor () [primary] declared in foo.Derived' type=foo.Derived origin=null