Files
kotlin-fork/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.txt
T
Dmitry Petrov 30182c38ce Fix toString and hashCode for array members of data classes
Generate them as special intrinsics that would be mapped to proper
platform-specific calls by BEs.

 #KT-16945 Fixed
2017-05-26 09:32:29 +03:00

636 lines
43 KiB
Plaintext
Vendored

FILE /dataClassWithArrayMembers.kt
CLASS CLASS Test1
$this: VALUE_PARAMETER this@Test1: Test1
CONSTRUCTOR public constructor Test1(stringArray: kotlin.Array<kotlin.String>, charArray: kotlin.CharArray, booleanArray: kotlin.BooleanArray, byteArray: kotlin.ByteArray, shortArray: kotlin.ShortArray, intArray: kotlin.IntArray, longArray: kotlin.LongArray, floatArray: kotlin.FloatArray, doubleArray: kotlin.DoubleArray)
VALUE_PARAMETER value-parameter stringArray: kotlin.Array<kotlin.String>
VALUE_PARAMETER value-parameter charArray: kotlin.CharArray
VALUE_PARAMETER value-parameter booleanArray: kotlin.BooleanArray
VALUE_PARAMETER value-parameter byteArray: kotlin.ByteArray
VALUE_PARAMETER value-parameter shortArray: kotlin.ShortArray
VALUE_PARAMETER value-parameter intArray: kotlin.IntArray
VALUE_PARAMETER value-parameter longArray: kotlin.LongArray
VALUE_PARAMETER value-parameter floatArray: kotlin.FloatArray
VALUE_PARAMETER value-parameter doubleArray: kotlin.DoubleArray
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Test1'
PROPERTY public final val stringArray: kotlin.Array<kotlin.String>
FIELD PROPERTY_BACKING_FIELD public final val stringArray: kotlin.Array<kotlin.String>
EXPRESSION_BODY
GET_VAR 'value-parameter stringArray: Array<String>' type=kotlin.Array<kotlin.String> origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR public final fun <get-stringArray>(): kotlin.Array<kotlin.String>
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-stringArray>(): Array<String>'
GET_FIELD 'stringArray: Array<String>' type=kotlin.Array<kotlin.String> origin=null
receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
PROPERTY public final val charArray: kotlin.CharArray
FIELD PROPERTY_BACKING_FIELD public final val charArray: kotlin.CharArray
EXPRESSION_BODY
GET_VAR 'value-parameter charArray: CharArray' type=kotlin.CharArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR public final fun <get-charArray>(): kotlin.CharArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-charArray>(): CharArray'
GET_FIELD 'charArray: CharArray' type=kotlin.CharArray origin=null
receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
PROPERTY public final val booleanArray: kotlin.BooleanArray
FIELD PROPERTY_BACKING_FIELD public final val booleanArray: kotlin.BooleanArray
EXPRESSION_BODY
GET_VAR 'value-parameter booleanArray: BooleanArray' type=kotlin.BooleanArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR public final fun <get-booleanArray>(): kotlin.BooleanArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-booleanArray>(): BooleanArray'
GET_FIELD 'booleanArray: BooleanArray' type=kotlin.BooleanArray origin=null
receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
PROPERTY public final val byteArray: kotlin.ByteArray
FIELD PROPERTY_BACKING_FIELD public final val byteArray: kotlin.ByteArray
EXPRESSION_BODY
GET_VAR 'value-parameter byteArray: ByteArray' type=kotlin.ByteArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR public final fun <get-byteArray>(): kotlin.ByteArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-byteArray>(): ByteArray'
GET_FIELD 'byteArray: ByteArray' type=kotlin.ByteArray origin=null
receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
PROPERTY public final val shortArray: kotlin.ShortArray
FIELD PROPERTY_BACKING_FIELD public final val shortArray: kotlin.ShortArray
EXPRESSION_BODY
GET_VAR 'value-parameter shortArray: ShortArray' type=kotlin.ShortArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR public final fun <get-shortArray>(): kotlin.ShortArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-shortArray>(): ShortArray'
GET_FIELD 'shortArray: ShortArray' type=kotlin.ShortArray origin=null
receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
PROPERTY public final val intArray: kotlin.IntArray
FIELD PROPERTY_BACKING_FIELD public final val intArray: kotlin.IntArray
EXPRESSION_BODY
GET_VAR 'value-parameter intArray: IntArray' type=kotlin.IntArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR public final fun <get-intArray>(): kotlin.IntArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-intArray>(): IntArray'
GET_FIELD 'intArray: IntArray' type=kotlin.IntArray origin=null
receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
PROPERTY public final val longArray: kotlin.LongArray
FIELD PROPERTY_BACKING_FIELD public final val longArray: kotlin.LongArray
EXPRESSION_BODY
GET_VAR 'value-parameter longArray: LongArray' type=kotlin.LongArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR public final fun <get-longArray>(): kotlin.LongArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-longArray>(): LongArray'
GET_FIELD 'longArray: LongArray' type=kotlin.LongArray origin=null
receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
PROPERTY public final val floatArray: kotlin.FloatArray
FIELD PROPERTY_BACKING_FIELD public final val floatArray: kotlin.FloatArray
EXPRESSION_BODY
GET_VAR 'value-parameter floatArray: FloatArray' type=kotlin.FloatArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR public final fun <get-floatArray>(): kotlin.FloatArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-floatArray>(): FloatArray'
GET_FIELD 'floatArray: FloatArray' type=kotlin.FloatArray origin=null
receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
PROPERTY public final val doubleArray: kotlin.DoubleArray
FIELD PROPERTY_BACKING_FIELD public final val doubleArray: kotlin.DoubleArray
EXPRESSION_BODY
GET_VAR 'value-parameter doubleArray: DoubleArray' type=kotlin.DoubleArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR public final fun <get-doubleArray>(): kotlin.DoubleArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-doubleArray>(): DoubleArray'
GET_FIELD 'doubleArray: DoubleArray' type=kotlin.DoubleArray origin=null
receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
FUN GENERATED_DATA_CLASS_MEMBER public final operator fun component1(): kotlin.Array<kotlin.String>
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='component1(): Array<String>'
CALL '<get-stringArray>(): Array<String>' type=kotlin.Array<kotlin.String> origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
FUN GENERATED_DATA_CLASS_MEMBER public final operator fun component2(): kotlin.CharArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='component2(): CharArray'
CALL '<get-charArray>(): CharArray' type=kotlin.CharArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
FUN GENERATED_DATA_CLASS_MEMBER public final operator fun component3(): kotlin.BooleanArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='component3(): BooleanArray'
CALL '<get-booleanArray>(): BooleanArray' type=kotlin.BooleanArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
FUN GENERATED_DATA_CLASS_MEMBER public final operator fun component4(): kotlin.ByteArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='component4(): ByteArray'
CALL '<get-byteArray>(): ByteArray' type=kotlin.ByteArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
FUN GENERATED_DATA_CLASS_MEMBER public final operator fun component5(): kotlin.ShortArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='component5(): ShortArray'
CALL '<get-shortArray>(): ShortArray' type=kotlin.ShortArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
FUN GENERATED_DATA_CLASS_MEMBER public final operator fun component6(): kotlin.IntArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='component6(): IntArray'
CALL '<get-intArray>(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
FUN GENERATED_DATA_CLASS_MEMBER public final operator fun component7(): kotlin.LongArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='component7(): LongArray'
CALL '<get-longArray>(): LongArray' type=kotlin.LongArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
FUN GENERATED_DATA_CLASS_MEMBER public final operator fun component8(): kotlin.FloatArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='component8(): FloatArray'
CALL '<get-floatArray>(): FloatArray' type=kotlin.FloatArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
FUN GENERATED_DATA_CLASS_MEMBER public final operator fun component9(): kotlin.DoubleArray
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from='component9(): DoubleArray'
CALL '<get-doubleArray>(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
FUN GENERATED_DATA_CLASS_MEMBER public final fun copy(stringArray: kotlin.Array<kotlin.String> = ..., charArray: kotlin.CharArray = ..., booleanArray: kotlin.BooleanArray = ..., byteArray: kotlin.ByteArray = ..., shortArray: kotlin.ShortArray = ..., intArray: kotlin.IntArray = ..., longArray: kotlin.LongArray = ..., floatArray: kotlin.FloatArray = ..., doubleArray: kotlin.DoubleArray = ...): Test1
$this: VALUE_PARAMETER this@Test1: Test1
VALUE_PARAMETER value-parameter stringArray: kotlin.Array<kotlin.String> = ...
EXPRESSION_BODY
CALL '<get-stringArray>(): Array<String>' type=kotlin.Array<kotlin.String> origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
VALUE_PARAMETER value-parameter charArray: kotlin.CharArray = ...
EXPRESSION_BODY
CALL '<get-charArray>(): CharArray' type=kotlin.CharArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
VALUE_PARAMETER value-parameter booleanArray: kotlin.BooleanArray = ...
EXPRESSION_BODY
CALL '<get-booleanArray>(): BooleanArray' type=kotlin.BooleanArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
VALUE_PARAMETER value-parameter byteArray: kotlin.ByteArray = ...
EXPRESSION_BODY
CALL '<get-byteArray>(): ByteArray' type=kotlin.ByteArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
VALUE_PARAMETER value-parameter shortArray: kotlin.ShortArray = ...
EXPRESSION_BODY
CALL '<get-shortArray>(): ShortArray' type=kotlin.ShortArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
VALUE_PARAMETER value-parameter intArray: kotlin.IntArray = ...
EXPRESSION_BODY
CALL '<get-intArray>(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
VALUE_PARAMETER value-parameter longArray: kotlin.LongArray = ...
EXPRESSION_BODY
CALL '<get-longArray>(): LongArray' type=kotlin.LongArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
VALUE_PARAMETER value-parameter floatArray: kotlin.FloatArray = ...
EXPRESSION_BODY
CALL '<get-floatArray>(): FloatArray' type=kotlin.FloatArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
VALUE_PARAMETER value-parameter doubleArray: kotlin.DoubleArray = ...
EXPRESSION_BODY
CALL '<get-doubleArray>(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
BLOCK_BODY
RETURN type=kotlin.Nothing from='copy(Array<String> = ..., CharArray = ..., BooleanArray = ..., ByteArray = ..., ShortArray = ..., IntArray = ..., LongArray = ..., FloatArray = ..., DoubleArray = ...): Test1'
CALL 'constructor Test1(Array<String>, CharArray, BooleanArray, ByteArray, ShortArray, IntArray, LongArray, FloatArray, DoubleArray)' type=Test1 origin=null
stringArray: GET_VAR 'value-parameter stringArray: Array<String> = ...' type=kotlin.Array<kotlin.String> origin=null
charArray: GET_VAR 'value-parameter charArray: CharArray = ...' type=kotlin.CharArray origin=null
booleanArray: GET_VAR 'value-parameter booleanArray: BooleanArray = ...' type=kotlin.BooleanArray origin=null
byteArray: GET_VAR 'value-parameter byteArray: ByteArray = ...' type=kotlin.ByteArray origin=null
shortArray: GET_VAR 'value-parameter shortArray: ShortArray = ...' type=kotlin.ShortArray origin=null
intArray: GET_VAR 'value-parameter intArray: IntArray = ...' type=kotlin.IntArray origin=null
longArray: GET_VAR 'value-parameter longArray: LongArray = ...' type=kotlin.LongArray origin=null
floatArray: GET_VAR 'value-parameter floatArray: FloatArray = ...' type=kotlin.FloatArray origin=null
doubleArray: GET_VAR 'value-parameter doubleArray: DoubleArray = ...' type=kotlin.DoubleArray origin=null
FUN GENERATED_DATA_CLASS_MEMBER public open override fun toString(): kotlin.String
$this: VALUE_PARAMETER this@Test1: Test1
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='stringArray='
CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
arg0: CALL '<get-stringArray>(): Array<String>' type=kotlin.Array<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='charArray='
CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
arg0: CALL '<get-charArray>(): CharArray' type=kotlin.CharArray 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='booleanArray='
CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
arg0: CALL '<get-booleanArray>(): BooleanArray' type=kotlin.BooleanArray 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='byteArray='
CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
arg0: CALL '<get-byteArray>(): ByteArray' type=kotlin.ByteArray 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='shortArray='
CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
arg0: CALL '<get-shortArray>(): ShortArray' type=kotlin.ShortArray 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='intArray='
CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
arg0: CALL '<get-intArray>(): IntArray' type=kotlin.IntArray 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='longArray='
CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
arg0: CALL '<get-longArray>(): LongArray' type=kotlin.LongArray 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='floatArray='
CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
arg0: CALL '<get-floatArray>(): FloatArray' type=kotlin.FloatArray 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='doubleArray='
CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
arg0: CALL '<get-doubleArray>(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
CONST String type=kotlin.String value=')'
FUN GENERATED_DATA_CLASS_MEMBER public open override fun hashCode(): kotlin.Int
$this: VALUE_PARAMETER this@Test1: Test1
BLOCK_BODY
VAR IR_TEMPORARY_VARIABLE var tmp0_result: kotlin.Int
CONST Int type=kotlin.Int value='0'
SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ
CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
arg0: CALL '<get-stringArray>(): Array<String>' type=kotlin.Array<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 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
arg0: CALL '<get-charArray>(): CharArray' type=kotlin.CharArray 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 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
arg0: CALL '<get-booleanArray>(): BooleanArray' type=kotlin.BooleanArray 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 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
arg0: CALL '<get-byteArray>(): ByteArray' type=kotlin.ByteArray 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 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
arg0: CALL '<get-shortArray>(): ShortArray' type=kotlin.ShortArray 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 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
arg0: CALL '<get-intArray>(): IntArray' type=kotlin.IntArray 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 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
arg0: CALL '<get-longArray>(): LongArray' type=kotlin.LongArray 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 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
arg0: CALL '<get-floatArray>(): FloatArray' type=kotlin.FloatArray 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 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
arg0: CALL '<get-doubleArray>(): DoubleArray' type=kotlin.DoubleArray 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 public open override fun equals(other: kotlin.Any?): kotlin.Boolean
$this: VALUE_PARAMETER this@Test1: Test1
VALUE_PARAMETER value-parameter other: kotlin.Any?
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
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 val tmp0_other_with_cast: Test1
TYPE_OP type=Test1 origin=CAST typeOperand=Test1
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 '<get-stringArray>(): Array<String>' type=kotlin.Array<kotlin.String> origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
arg1: CALL '<get-stringArray>(): Array<String>' type=kotlin.Array<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 '<get-charArray>(): CharArray' type=kotlin.CharArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
arg1: CALL '<get-charArray>(): CharArray' type=kotlin.CharArray 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 '<get-booleanArray>(): BooleanArray' type=kotlin.BooleanArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
arg1: CALL '<get-booleanArray>(): BooleanArray' type=kotlin.BooleanArray 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 '<get-byteArray>(): ByteArray' type=kotlin.ByteArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
arg1: CALL '<get-byteArray>(): ByteArray' type=kotlin.ByteArray 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 '<get-shortArray>(): ShortArray' type=kotlin.ShortArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
arg1: CALL '<get-shortArray>(): ShortArray' type=kotlin.ShortArray 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 '<get-intArray>(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
arg1: CALL '<get-intArray>(): IntArray' type=kotlin.IntArray 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 '<get-longArray>(): LongArray' type=kotlin.LongArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
arg1: CALL '<get-longArray>(): LongArray' type=kotlin.LongArray 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 '<get-floatArray>(): FloatArray' type=kotlin.FloatArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
arg1: CALL '<get-floatArray>(): FloatArray' type=kotlin.FloatArray 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 '<get-doubleArray>(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY
$this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
arg1: CALL '<get-doubleArray>(): DoubleArray' type=kotlin.DoubleArray 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 Test2
$this: VALUE_PARAMETER this@Test2: Test2<T>
TYPE_PARAMETER <T>
CONSTRUCTOR public constructor Test2<T>(genericArray: kotlin.Array<T>)
VALUE_PARAMETER value-parameter genericArray: kotlin.Array<T>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Test2'
PROPERTY public final val genericArray: kotlin.Array<T>
FIELD PROPERTY_BACKING_FIELD public final val genericArray: kotlin.Array<T>
EXPRESSION_BODY
GET_VAR 'value-parameter genericArray: Array<T>' type=kotlin.Array<T> origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR public final fun <get-genericArray>(): kotlin.Array<T>
$this: VALUE_PARAMETER this@Test2: Test2<T>
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-genericArray>(): Array<T>'
GET_FIELD 'genericArray: Array<T>' type=kotlin.Array<T> origin=null
receiver: GET_VAR 'this@Test2: Test2<T>' type=Test2<T> origin=null
FUN GENERATED_DATA_CLASS_MEMBER public final operator fun component1(): kotlin.Array<T>
$this: VALUE_PARAMETER this@Test2: Test2<T>
BLOCK_BODY
RETURN type=kotlin.Nothing from='component1(): Array<T>'
CALL '<get-genericArray>(): Array<T>' type=kotlin.Array<T> origin=GET_PROPERTY
$this: GET_VAR 'this@Test2: Test2<T>' type=Test2<T> origin=null
FUN GENERATED_DATA_CLASS_MEMBER public final fun copy(genericArray: kotlin.Array<T> = ...): Test2<T>
$this: VALUE_PARAMETER this@Test2: Test2<T>
VALUE_PARAMETER value-parameter genericArray: kotlin.Array<T> = ...
EXPRESSION_BODY
CALL '<get-genericArray>(): Array<T>' type=kotlin.Array<T> origin=GET_PROPERTY
$this: GET_VAR 'this@Test2: Test2<T>' type=Test2<T> origin=null
BLOCK_BODY
RETURN type=kotlin.Nothing from='copy(Array<T> = ...): Test2<T>'
CALL 'constructor Test2(Array<T>)' type=Test2<T> origin=null
<T>: null
genericArray: GET_VAR 'value-parameter genericArray: Array<T> = ...' type=kotlin.Array<T> origin=null
FUN GENERATED_DATA_CLASS_MEMBER public open override fun toString(): kotlin.String
$this: VALUE_PARAMETER this@Test2: Test2<T>
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='genericArray='
CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
arg0: CALL '<get-genericArray>(): Array<T>' type=kotlin.Array<T> origin=GET_PROPERTY
$this: GET_VAR 'this@Test2: Test2<T>' type=Test2<T> origin=null
CONST String type=kotlin.String value=')'
FUN GENERATED_DATA_CLASS_MEMBER public open override fun hashCode(): kotlin.Int
$this: VALUE_PARAMETER this@Test2: Test2<T>
BLOCK_BODY
VAR IR_TEMPORARY_VARIABLE var tmp0_result: kotlin.Int
CONST Int type=kotlin.Int value='0'
SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ
CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
arg0: CALL '<get-genericArray>(): Array<T>' type=kotlin.Array<T> origin=GET_PROPERTY
$this: GET_VAR 'this@Test2: Test2<T>' type=Test2<T> origin=null
RETURN type=kotlin.Nothing from='hashCode(): Int'
GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null
FUN GENERATED_DATA_CLASS_MEMBER public open override fun equals(other: kotlin.Any?): kotlin.Boolean
$this: VALUE_PARAMETER this@Test2: Test2<T>
VALUE_PARAMETER value-parameter other: kotlin.Any?
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<T>' type=Test2<T> 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<T>
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 val tmp0_other_with_cast: Test2<T>
TYPE_OP type=Test2<T> origin=CAST typeOperand=Test2<T>
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 '<get-genericArray>(): Array<T>' type=kotlin.Array<T> origin=GET_PROPERTY
$this: GET_VAR 'this@Test2: Test2<T>' type=Test2<T> origin=null
arg1: CALL '<get-genericArray>(): Array<T>' type=kotlin.Array<T> origin=GET_PROPERTY
$this: GET_VAR 'tmp0_other_with_cast: Test2<T>' type=Test2<T> 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 Test3
$this: VALUE_PARAMETER this@Test3: Test3
CONSTRUCTOR public constructor Test3(anyArrayN: kotlin.Array<kotlin.Any>?)
VALUE_PARAMETER value-parameter anyArrayN: kotlin.Array<kotlin.Any>?
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Test3'
PROPERTY public final val anyArrayN: kotlin.Array<kotlin.Any>?
FIELD PROPERTY_BACKING_FIELD public final val anyArrayN: kotlin.Array<kotlin.Any>?
EXPRESSION_BODY
GET_VAR 'value-parameter anyArrayN: Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR public final fun <get-anyArrayN>(): kotlin.Array<kotlin.Any>?
$this: VALUE_PARAMETER this@Test3: Test3
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-anyArrayN>(): Array<Any>?'
GET_FIELD 'anyArrayN: Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=null
receiver: GET_VAR 'this@Test3: Test3' type=Test3 origin=null
FUN GENERATED_DATA_CLASS_MEMBER public final operator fun component1(): kotlin.Array<kotlin.Any>?
$this: VALUE_PARAMETER this@Test3: Test3
BLOCK_BODY
RETURN type=kotlin.Nothing from='component1(): Array<Any>?'
CALL '<get-anyArrayN>(): Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=GET_PROPERTY
$this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null
FUN GENERATED_DATA_CLASS_MEMBER public final fun copy(anyArrayN: kotlin.Array<kotlin.Any>? = ...): Test3
$this: VALUE_PARAMETER this@Test3: Test3
VALUE_PARAMETER value-parameter anyArrayN: kotlin.Array<kotlin.Any>? = ...
EXPRESSION_BODY
CALL '<get-anyArrayN>(): Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=GET_PROPERTY
$this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null
BLOCK_BODY
RETURN type=kotlin.Nothing from='copy(Array<Any>? = ...): Test3'
CALL 'constructor Test3(Array<Any>?)' type=Test3 origin=null
anyArrayN: GET_VAR 'value-parameter anyArrayN: Array<Any>? = ...' type=kotlin.Array<kotlin.Any>? origin=null
FUN GENERATED_DATA_CLASS_MEMBER public open override fun toString(): kotlin.String
$this: VALUE_PARAMETER this@Test3: Test3
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='anyArrayN='
CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
arg0: CALL '<get-anyArrayN>(): Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=GET_PROPERTY
$this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null
CONST String type=kotlin.String value=')'
FUN GENERATED_DATA_CLASS_MEMBER public open override fun hashCode(): kotlin.Int
$this: VALUE_PARAMETER this@Test3: Test3
BLOCK_BODY
VAR IR_TEMPORARY_VARIABLE var tmp0_result: kotlin.Int
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 val tmp1: kotlin.Array<kotlin.Any>?
CALL '<get-anyArrayN>(): Array<Any>?' type=kotlin.Array<kotlin.Any>? 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: Array<Any>?' type=kotlin.Array<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 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
arg0: GET_VAR 'tmp1: Array<Any>?' type=kotlin.Array<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 public open override fun equals(other: kotlin.Any?): kotlin.Boolean
$this: VALUE_PARAMETER this@Test3: Test3
VALUE_PARAMETER value-parameter other: kotlin.Any?
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
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 val tmp0_other_with_cast: Test3
TYPE_OP type=Test3 origin=CAST typeOperand=Test3
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 '<get-anyArrayN>(): Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=GET_PROPERTY
$this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null
arg1: CALL '<get-anyArrayN>(): Array<Any>?' type=kotlin.Array<kotlin.Any>? 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'