FILE fqName: fileName:/dataClasses.kt CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test1 flags: CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.String, z:kotlin.Any) returnType:Test1 flags:primary VALUE_PARAMETER name:x index:0 type:kotlin.Int flags: VALUE_PARAMETER name:y index:1 type:kotlin.String flags: VALUE_PARAMETER name:z index:2 type:kotlin.Any flags: BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' INSTANCE_INITIALIZER_CALL classDescriptor='Test1' PROPERTY name:x visibility:public modality:FINAL flags:val FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:final EXPRESSION_BODY GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test1) returnType:kotlin.Int flags: correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:val $this: VALUE_PARAMETER name: type:Test1 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(): Int' GET_FIELD 'x: Int' type=kotlin.Int origin=null receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null PROPERTY name:y visibility:public modality:FINAL flags:val FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public flags:final EXPRESSION_BODY GET_VAR 'value-parameter y: String' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test1) returnType:kotlin.String flags: correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:val $this: VALUE_PARAMETER name: type:Test1 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(): String' GET_FIELD 'y: String' type=kotlin.String origin=null receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null PROPERTY name:z visibility:public modality:FINAL flags:val FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Any visibility:public flags:final EXPRESSION_BODY GET_VAR 'value-parameter z: Any' type=kotlin.Any origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test1) returnType:kotlin.Any flags: correspondingProperty: PROPERTY name:z visibility:public modality:FINAL flags:val $this: VALUE_PARAMETER name: type:Test1 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(): Any' GET_FIELD 'z: Any' type=kotlin.Any origin=null receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:Test1) returnType:kotlin.Int flags: $this: VALUE_PARAMETER name: type:Test1 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='component1(): Int' CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:Test1) returnType:kotlin.String flags: $this: VALUE_PARAMETER name: type:Test1 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='component2(): String' CALL '(): String' type=kotlin.String origin=GET_PROPERTY $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null FUN GENERATED_DATA_CLASS_MEMBER name:component3 visibility:public modality:FINAL <> ($this:Test1) returnType:kotlin.Any flags: $this: VALUE_PARAMETER name: type:Test1 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='component3(): Any' CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:Test1, x:kotlin.Int, y:kotlin.String, z:kotlin.Any) returnType:Test1 flags: $this: VALUE_PARAMETER name: type:Test1 flags: VALUE_PARAMETER name:x index:0 type:kotlin.Int flags: EXPRESSION_BODY CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null VALUE_PARAMETER name:y index:1 type:kotlin.String flags: EXPRESSION_BODY CALL '(): String' type=kotlin.String origin=GET_PROPERTY $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null VALUE_PARAMETER name:z index:2 type:kotlin.Any flags: EXPRESSION_BODY CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null BLOCK_BODY RETURN type=kotlin.Nothing from='copy(Int = ..., String = ..., Any = ...): Test1' CALL 'constructor Test1(Int, String, Any)' type=Test1 origin=null x: GET_VAR 'value-parameter x: Int = ...' type=kotlin.Int origin=null y: GET_VAR 'value-parameter y: String = ...' type=kotlin.String origin=null z: GET_VAR 'value-parameter z: Any = ...' type=kotlin.Any origin=null FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:Test1) returnType:kotlin.String flags: overridden: FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: $this: VALUE_PARAMETER name: type:Test1 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='toString(): String' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test1(" CONST String type=kotlin.String value="x=" CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="y=" CALL '(): String' type=kotlin.String origin=GET_PROPERTY $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="z=" CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null CONST String type=kotlin.String value=")" FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:Test1) returnType:kotlin.Int flags: overridden: FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: $this: VALUE_PARAMETER name: type:Test1 flags: BLOCK_BODY VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var CONST Int type=kotlin.Int value=0 SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ CALL 'hashCode(): Int' type=kotlin.Int origin=null $this: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ CALL 'plus(Int): Int' type=kotlin.Int origin=null $this: CALL 'times(Int): Int' type=kotlin.Int origin=null $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 other: CALL 'hashCode(): Int' type=kotlin.Int origin=null $this: CALL '(): String' type=kotlin.String origin=GET_PROPERTY $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ CALL 'plus(Int): Int' type=kotlin.Int origin=null $this: CALL 'times(Int): Int' type=kotlin.Int origin=null $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 other: CALL 'hashCode(): Int' type=kotlin.Int origin=null $this: CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null RETURN type=kotlin.Nothing from='hashCode(): Int' GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:Test1, other:kotlin.Any?) returnType:kotlin.Boolean flags: overridden: FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: $this: VALUE_PARAMETER name: type:Test1 flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ arg0: GET_VAR 'this@Test1: Test1' type=Test1 origin=null arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test1 typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data superTypes:[kotlin.Any] GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=false VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test1 flags:val TYPE_OP type=Test1 origin=CAST typeOperand=Test1 typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data superTypes:[kotlin.Any] GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null arg1: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL '(): String' type=kotlin.String origin=GET_PROPERTY $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null arg1: CALL '(): String' type=kotlin.String origin=GET_PROPERTY $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null arg1: CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=false RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=true CLASS CLASS name:Test2 modality:FINAL visibility:public flags:data superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test2 flags: CONSTRUCTOR visibility:public <> (x:kotlin.Any?) returnType:Test2 flags:primary VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags: BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' INSTANCE_INITIALIZER_CALL classDescriptor='Test2' PROPERTY name:x visibility:public modality:FINAL flags:val FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Any? visibility:public flags:final EXPRESSION_BODY GET_VAR 'value-parameter x: Any?' type=kotlin.Any? origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test2) returnType:kotlin.Any? flags: correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:val $this: VALUE_PARAMETER name: type:Test2 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(): Any?' GET_FIELD 'x: Any?' type=kotlin.Any? origin=null receiver: GET_VAR 'this@Test2: Test2' type=Test2 origin=null FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:Test2) returnType:kotlin.Any? flags: $this: VALUE_PARAMETER name: type:Test2 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='component1(): Any?' CALL '(): Any?' type=kotlin.Any? origin=GET_PROPERTY $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:Test2, x:kotlin.Any?) returnType:Test2 flags: $this: VALUE_PARAMETER name: type:Test2 flags: VALUE_PARAMETER name:x index:0 type:kotlin.Any? flags: EXPRESSION_BODY CALL '(): Any?' type=kotlin.Any? origin=GET_PROPERTY $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null BLOCK_BODY RETURN type=kotlin.Nothing from='copy(Any? = ...): Test2' CALL 'constructor Test2(Any?)' type=Test2 origin=null x: GET_VAR 'value-parameter x: Any? = ...' type=kotlin.Any? origin=null FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:Test2) returnType:kotlin.String flags: overridden: FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: $this: VALUE_PARAMETER name: type:Test2 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='toString(): String' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test2(" CONST String type=kotlin.String value="x=" CALL '(): Any?' type=kotlin.Any? origin=GET_PROPERTY $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null CONST String type=kotlin.String value=")" FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:Test2) returnType:kotlin.Int flags: overridden: FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: $this: VALUE_PARAMETER name: type:Test2 flags: BLOCK_BODY VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var CONST Int type=kotlin.Int value=0 SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ BLOCK type=kotlin.Int origin=null VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Any? flags:val CALL '(): Any?' type=kotlin.Any? origin=GET_PROPERTY $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null WHEN type=kotlin.Int origin=null BRANCH if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ arg0: GET_VAR 'tmp1: Any?' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CALL 'hashCode(): Int' type=kotlin.Int origin=null $this: GET_VAR 'tmp1: Any?' type=kotlin.Any? origin=null RETURN type=kotlin.Nothing from='hashCode(): Int' GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:Test2, other:kotlin.Any?) returnType:kotlin.Boolean flags: overridden: FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: $this: VALUE_PARAMETER name: type:Test2 flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ arg0: GET_VAR 'this@Test2: Test2' type=Test2 origin=null arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test2 typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:data superTypes:[kotlin.Any] GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=false VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test2 flags:val TYPE_OP type=Test2 origin=CAST typeOperand=Test2 typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:data superTypes:[kotlin.Any] GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL '(): Any?' type=kotlin.Any? origin=GET_PROPERTY $this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null arg1: CALL '(): Any?' type=kotlin.Any? origin=GET_PROPERTY $this: GET_VAR 'tmp0_other_with_cast: Test2' type=Test2 origin=null then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=false RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=true CLASS CLASS name:Test3 modality:FINAL visibility:public flags:data superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:Test3 flags: CONSTRUCTOR visibility:public <> (d:kotlin.Double, dn:kotlin.Double?, f:kotlin.Float, df:kotlin.Float?) returnType:Test3 flags:primary VALUE_PARAMETER name:d index:0 type:kotlin.Double flags: VALUE_PARAMETER name:dn index:1 type:kotlin.Double? flags: VALUE_PARAMETER name:f index:2 type:kotlin.Float flags: VALUE_PARAMETER name:df index:3 type:kotlin.Float? flags: BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' INSTANCE_INITIALIZER_CALL classDescriptor='Test3' PROPERTY name:d visibility:public modality:FINAL flags:val FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Double visibility:public flags:final EXPRESSION_BODY GET_VAR 'value-parameter d: Double' type=kotlin.Double origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test3) returnType:kotlin.Double flags: correspondingProperty: PROPERTY name:d visibility:public modality:FINAL flags:val $this: VALUE_PARAMETER name: type:Test3 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(): Double' GET_FIELD 'd: Double' type=kotlin.Double origin=null receiver: GET_VAR 'this@Test3: Test3' type=Test3 origin=null PROPERTY name:dn visibility:public modality:FINAL flags:val FIELD PROPERTY_BACKING_FIELD name:dn type:kotlin.Double? visibility:public flags:final EXPRESSION_BODY GET_VAR 'value-parameter dn: Double?' type=kotlin.Double? origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test3) returnType:kotlin.Double? flags: correspondingProperty: PROPERTY name:dn visibility:public modality:FINAL flags:val $this: VALUE_PARAMETER name: type:Test3 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(): Double?' GET_FIELD 'dn: Double?' type=kotlin.Double? origin=null receiver: GET_VAR 'this@Test3: Test3' type=Test3 origin=null PROPERTY name:f visibility:public modality:FINAL flags:val FIELD PROPERTY_BACKING_FIELD name:f type:kotlin.Float visibility:public flags:final EXPRESSION_BODY GET_VAR 'value-parameter f: Float' type=kotlin.Float origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test3) returnType:kotlin.Float flags: correspondingProperty: PROPERTY name:f visibility:public modality:FINAL flags:val $this: VALUE_PARAMETER name: type:Test3 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(): Float' GET_FIELD 'f: Float' type=kotlin.Float origin=null receiver: GET_VAR 'this@Test3: Test3' type=Test3 origin=null PROPERTY name:df visibility:public modality:FINAL flags:val FIELD PROPERTY_BACKING_FIELD name:df type:kotlin.Float? visibility:public flags:final EXPRESSION_BODY GET_VAR 'value-parameter df: Float?' type=kotlin.Float? origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:Test3) returnType:kotlin.Float? flags: correspondingProperty: PROPERTY name:df visibility:public modality:FINAL flags:val $this: VALUE_PARAMETER name: type:Test3 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(): Float?' GET_FIELD 'df: Float?' type=kotlin.Float? origin=null receiver: GET_VAR 'this@Test3: Test3' type=Test3 origin=null FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:Test3) returnType:kotlin.Double flags: $this: VALUE_PARAMETER name: type:Test3 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='component1(): Double' CALL '(): Double' type=kotlin.Double origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:Test3) returnType:kotlin.Double? flags: $this: VALUE_PARAMETER name: type:Test3 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='component2(): Double?' CALL '(): Double?' type=kotlin.Double? origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null FUN GENERATED_DATA_CLASS_MEMBER name:component3 visibility:public modality:FINAL <> ($this:Test3) returnType:kotlin.Float flags: $this: VALUE_PARAMETER name: type:Test3 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='component3(): Float' CALL '(): Float' type=kotlin.Float origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null FUN GENERATED_DATA_CLASS_MEMBER name:component4 visibility:public modality:FINAL <> ($this:Test3) returnType:kotlin.Float? flags: $this: VALUE_PARAMETER name: type:Test3 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='component4(): Float?' CALL '(): Float?' type=kotlin.Float? origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:Test3, d:kotlin.Double, dn:kotlin.Double?, f:kotlin.Float, df:kotlin.Float?) returnType:Test3 flags: $this: VALUE_PARAMETER name: type:Test3 flags: VALUE_PARAMETER name:d index:0 type:kotlin.Double flags: EXPRESSION_BODY CALL '(): Double' type=kotlin.Double origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null VALUE_PARAMETER name:dn index:1 type:kotlin.Double? flags: EXPRESSION_BODY CALL '(): Double?' type=kotlin.Double? origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null VALUE_PARAMETER name:f index:2 type:kotlin.Float flags: EXPRESSION_BODY CALL '(): Float' type=kotlin.Float origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null VALUE_PARAMETER name:df index:3 type:kotlin.Float? flags: EXPRESSION_BODY CALL '(): Float?' type=kotlin.Float? origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null BLOCK_BODY RETURN type=kotlin.Nothing from='copy(Double = ..., Double? = ..., Float = ..., Float? = ...): Test3' CALL 'constructor Test3(Double, Double?, Float, Float?)' type=Test3 origin=null d: GET_VAR 'value-parameter d: Double = ...' type=kotlin.Double origin=null dn: GET_VAR 'value-parameter dn: Double? = ...' type=kotlin.Double? origin=null f: GET_VAR 'value-parameter f: Float = ...' type=kotlin.Float origin=null df: GET_VAR 'value-parameter df: Float? = ...' type=kotlin.Float? origin=null FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:Test3) returnType:kotlin.String flags: overridden: FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: $this: VALUE_PARAMETER name: type:Test3 flags: BLOCK_BODY RETURN type=kotlin.Nothing from='toString(): String' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Test3(" CONST String type=kotlin.String value="d=" CALL '(): Double' type=kotlin.Double origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="dn=" CALL '(): Double?' type=kotlin.Double? origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="f=" CALL '(): Float' type=kotlin.Float origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null CONST String type=kotlin.String value=", " CONST String type=kotlin.String value="df=" CALL '(): Float?' type=kotlin.Float? origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null CONST String type=kotlin.String value=")" FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:Test3) returnType:kotlin.Int flags: overridden: FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: $this: VALUE_PARAMETER name: type:Test3 flags: BLOCK_BODY VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var CONST Int type=kotlin.Int value=0 SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ CALL 'hashCode(): Int' type=kotlin.Int origin=null $this: CALL '(): Double' type=kotlin.Double origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ CALL 'plus(Int): Int' type=kotlin.Int origin=null $this: CALL 'times(Int): Int' type=kotlin.Int origin=null $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 other: BLOCK type=kotlin.Int origin=null VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Double? flags:val CALL '(): Double?' type=kotlin.Double? origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null WHEN type=kotlin.Int origin=null BRANCH if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ arg0: GET_VAR 'tmp1: Double?' type=kotlin.Double? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CALL 'hashCode(): Int' type=kotlin.Int origin=null $this: GET_VAR 'tmp1: Double?' type=kotlin.Double? origin=null SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ CALL 'plus(Int): Int' type=kotlin.Int origin=null $this: CALL 'times(Int): Int' type=kotlin.Int origin=null $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 other: CALL 'hashCode(): Int' type=kotlin.Int origin=null $this: CALL '(): Float' type=kotlin.Float origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ CALL 'plus(Int): Int' type=kotlin.Int origin=null $this: CALL 'times(Int): Int' type=kotlin.Int origin=null $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=31 other: BLOCK type=kotlin.Int origin=null VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Float? flags:val CALL '(): Float?' type=kotlin.Float? origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null WHEN type=kotlin.Int origin=null BRANCH if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ arg0: GET_VAR 'tmp2: Float?' type=kotlin.Float? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CALL 'hashCode(): Int' type=kotlin.Int origin=null $this: GET_VAR 'tmp2: Float?' type=kotlin.Float? origin=null RETURN type=kotlin.Nothing from='hashCode(): Int' GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:Test3, other:kotlin.Any?) returnType:kotlin.Boolean flags: overridden: FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: $this: VALUE_PARAMETER name: type:Test3 flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ arg0: GET_VAR 'this@Test3: Test3' type=Test3 origin=null arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test3 typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:data superTypes:[kotlin.Any] GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=false VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test3 flags:val TYPE_OP type=Test3 origin=CAST typeOperand=Test3 typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:data superTypes:[kotlin.Any] GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL '(): Double' type=kotlin.Double origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null arg1: CALL '(): Double' type=kotlin.Double origin=GET_PROPERTY $this: GET_VAR 'tmp0_other_with_cast: Test3' type=Test3 origin=null then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL '(): Double?' type=kotlin.Double? origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null arg1: CALL '(): Double?' type=kotlin.Double? origin=GET_PROPERTY $this: GET_VAR 'tmp0_other_with_cast: Test3' type=Test3 origin=null then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL '(): Float' type=kotlin.Float origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null arg1: CALL '(): Float' type=kotlin.Float origin=GET_PROPERTY $this: GET_VAR 'tmp0_other_with_cast: Test3' type=Test3 origin=null then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=false WHEN type=kotlin.Unit origin=null BRANCH if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ arg0: CALL '(): Float?' type=kotlin.Float? origin=GET_PROPERTY $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null arg1: CALL '(): Float?' type=kotlin.Float? origin=GET_PROPERTY $this: GET_VAR 'tmp0_other_with_cast: Test3' type=Test3 origin=null then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=false RETURN type=kotlin.Nothing from='equals(Any?): Boolean' CONST Boolean type=kotlin.Boolean value=true