FILE fqName:test1 fileName:/kt19306_test1.kt CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test1.A PROPERTY name:p visibility:protected modality:FINAL [var] FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.String visibility:private EXPRESSION_BODY CONST String type=kotlin.String value="" FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:test1.A) returnType:kotlin.String correspondingProperty: PROPERTY name:p visibility:protected modality:FINAL [var] $this: VALUE_PARAMETER name: type:test1.A BLOCK_BODY RETURN type=kotlin.Nothing from='protected final fun (): kotlin.String declared in test1.A' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.String visibility:private' type=kotlin.String origin=null receiver: GET_VAR ': test1.A declared in test1.A.' type=test1.A origin=null FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:test1.A, :kotlin.String) returnType:kotlin.Unit correspondingProperty: PROPERTY name:p visibility:protected modality:FINAL [var] $this: VALUE_PARAMETER name: type:test1.A VALUE_PARAMETER name: index:0 type:kotlin.String BLOCK_BODY SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.String visibility:private' type=kotlin.Unit origin=null receiver: GET_VAR ': test1.A declared in test1.A.' type=test1.A origin=null value: GET_VAR ': kotlin.String declared in test1.A.' type=kotlin.String origin=null CONSTRUCTOR visibility:public <> () returnType:test1.A [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT 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 FILE fqName:test2 fileName:/kt19306_test2.kt CLASS CLASS name:B modality:FINAL visibility:public superTypes:[test1.A] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test2.B CONSTRUCTOR visibility:public <> () returnType:test2.B [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in test1.A' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[test1.A]' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in test1.A $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 test1.A $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 test1.A $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:test visibility:public modality:FINAL <> ($this:test2.B) returnType:kotlin.Function0 $this: VALUE_PARAMETER name: type:test2.B BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test (): kotlin.Function0 declared in test2.B' FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.String BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in test2.B.test' CALL 'protected final fun (): kotlin.String declared in test2.B' type=kotlin.String origin=GET_PROPERTY $this: GET_VAR ': test2.B declared in test2.B.test' type=test2.B origin=null PROPERTY FAKE_OVERRIDE name:p visibility:protected modality:FINAL [fake_override,var] overridden: protected final p: kotlin.String FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:test1.A) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:p visibility:protected modality:FINAL [fake_override,var] overridden: protected final fun (): kotlin.String declared in test1.A $this: VALUE_PARAMETER name: type:test1.A