FILE fqName: fileName:/sealedClasses.kt CLASS CLASS name:Expr modality:SEALED visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Expr CONSTRUCTOR visibility:protected <> () returnType:.Expr [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Expr modality:SEALED visibility:public superTypes:[kotlin.Any]' CLASS CLASS name:Const modality:FINAL visibility:public superTypes:[.Expr] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Expr.Const CONSTRUCTOR visibility:public <> (number:kotlin.Double) returnType:.Expr.Const [primary] VALUE_PARAMETER name:number index:0 type:kotlin.Double BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'protected constructor () [primary] declared in .Expr' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Const modality:FINAL visibility:public superTypes:[.Expr]' PROPERTY name:number visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:number type:kotlin.Double visibility:private [final] EXPRESSION_BODY GET_VAR 'number: kotlin.Double declared in .Expr.Const.' type=kotlin.Double origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Expr.Const) returnType:kotlin.Double correspondingProperty: PROPERTY name:number visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Expr.Const BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Double declared in .Expr.Const' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:number type:kotlin.Double visibility:private [final]' type=kotlin.Double origin=null receiver: GET_VAR ': .Expr.Const declared in .Expr.Const.' type=.Expr.Const 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 .Expr $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 .Expr $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 .Expr $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Sum modality:FINAL visibility:public superTypes:[.Expr] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Expr.Sum CONSTRUCTOR visibility:public <> (e1:.Expr, e2:.Expr) returnType:.Expr.Sum [primary] VALUE_PARAMETER name:e1 index:0 type:.Expr VALUE_PARAMETER name:e2 index:1 type:.Expr BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'protected constructor () [primary] declared in .Expr' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Sum modality:FINAL visibility:public superTypes:[.Expr]' PROPERTY name:e1 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:e1 type:.Expr visibility:private [final] EXPRESSION_BODY GET_VAR 'e1: .Expr declared in .Expr.Sum.' type=.Expr origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Expr.Sum) returnType:.Expr correspondingProperty: PROPERTY name:e1 visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Expr.Sum BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): .Expr declared in .Expr.Sum' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e1 type:.Expr visibility:private [final]' type=.Expr origin=null receiver: GET_VAR ': .Expr.Sum declared in .Expr.Sum.' type=.Expr.Sum origin=null PROPERTY name:e2 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:e2 type:.Expr visibility:private [final] EXPRESSION_BODY GET_VAR 'e2: .Expr declared in .Expr.Sum.' type=.Expr origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Expr.Sum) returnType:.Expr correspondingProperty: PROPERTY name:e2 visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Expr.Sum BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): .Expr declared in .Expr.Sum' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e2 type:.Expr visibility:private [final]' type=.Expr origin=null receiver: GET_VAR ': .Expr.Sum declared in .Expr.Sum.' type=.Expr.Sum 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 .Expr $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 .Expr $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 .Expr $this: VALUE_PARAMETER name: type:kotlin.Any CLASS OBJECT name:NotANumber modality:FINAL visibility:public superTypes:[.Expr] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Expr.NotANumber CONSTRUCTOR visibility:private <> () returnType:.Expr.NotANumber [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'protected constructor () [primary] declared in .Expr' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:NotANumber modality:FINAL visibility:public superTypes:[.Expr]' 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 .Expr $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 .Expr $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 .Expr $this: VALUE_PARAMETER name: type: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 [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