Files
kotlin-fork/compiler/testData/ir/irText/classes/dataClasses.txt
T
Dmitry Petrov 28b3ea27f3 Generate explicit call to 'Any()' if no superclass found.
Generate call super-constructor calls as IrDelegatedConstructorCall.
2016-10-18 09:08:57 +03:00

132 lines
7.4 KiB
Plaintext
Vendored

FILE /dataClasses.kt
CLASS CLASS Test1
CONSTRUCTOR public constructor Test1(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.String, /*2*/ z: kotlin.Any)
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any
SET_BACKING_FIELD x type=kotlin.Unit operator=null
GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
SET_BACKING_FIELD y type=kotlin.Unit operator=null
GET_VAR y type=kotlin.String operator=INITIALIZE_PROPERTY_FROM_PARAMETER
SET_BACKING_FIELD z type=kotlin.Unit operator=null
GET_VAR z type=kotlin.Any operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=Test1
PROPERTY public final val x: kotlin.Int
EXPRESSION_BODY
GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
PROPERTY public final val y: kotlin.String
EXPRESSION_BODY
GET_VAR y type=kotlin.String operator=INITIALIZE_PROPERTY_FROM_PARAMETER
PROPERTY public final val z: kotlin.Any
EXPRESSION_BODY
GET_VAR z type=kotlin.Any operator=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN public final operator /*synthesized*/ fun component1(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from=component1
CALL .<get-x> type=kotlin.Int operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1
FUN public final operator /*synthesized*/ fun component2(): kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from=component2
CALL .<get-y> type=kotlin.String operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1
FUN public final operator /*synthesized*/ fun component3(): kotlin.Any
BLOCK_BODY
RETURN type=kotlin.Nothing from=component3
CALL .<get-z> type=kotlin.Any operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1
FUN public final /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ..., /*1*/ y: kotlin.String = ..., /*2*/ z: kotlin.Any = ...): Test1
BLOCK_BODY
RETURN type=kotlin.Nothing from=copy
CALL .<init> type=Test1 operator=null
x: GET_VAR x type=kotlin.Int operator=null
y: GET_VAR y type=kotlin.String operator=null
z: GET_VAR z type=kotlin.Any operator=null
FUN public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from=toString
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value='Test1('
CONST String type=kotlin.String value='x='
CALL .<get-x> type=kotlin.Int operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1
CONST String type=kotlin.String value=', '
CONST String type=kotlin.String value='y='
CALL .<get-y> type=kotlin.String operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1
CONST String type=kotlin.String value=', '
CONST String type=kotlin.String value='z='
CALL .<get-z> type=kotlin.Any operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1
CONST String type=kotlin.String value=')'
FUN public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
BLOCK_BODY
VAR val tmp0_result: kotlin.Int
CONST Int type=kotlin.Int value='0'
SET_VAR tmp0_result type=kotlin.Unit operator=EQ
CALL .hashCode type=kotlin.Int operator=null
$this: CALL .<get-x> type=kotlin.Int operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1
SET_VAR tmp0_result type=kotlin.Unit operator=EQ
CALL .plus type=kotlin.Int operator=null
$this: CALL .times type=kotlin.Int operator=null
$this: GET_VAR tmp0_result type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='31'
other: CALL .hashCode type=kotlin.Int operator=null
$this: CALL .<get-y> type=kotlin.String operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1
SET_VAR tmp0_result type=kotlin.Unit operator=EQ
CALL .plus type=kotlin.Int operator=null
$this: CALL .times type=kotlin.Int operator=null
$this: GET_VAR tmp0_result type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='31'
other: CALL .hashCode type=kotlin.Int operator=null
$this: CALL .<get-z> type=kotlin.Any operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1
RETURN type=kotlin.Nothing from=hashCode
GET_VAR tmp0_result type=kotlin.Int operator=null
FUN public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
BLOCK_BODY
WHEN type=kotlin.Unit operator=null
if: CALL .EQEQEQ type=kotlin.Boolean operator=EQEQEQ
arg0: THIS public final data class Test1 type=Test1
arg1: GET_VAR other type=kotlin.Any? operator=null
then: RETURN type=kotlin.Nothing from=equals
CONST Boolean type=kotlin.Boolean value='true'
WHEN type=kotlin.Unit operator=null
if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=Test1
GET_VAR other type=kotlin.Any? operator=null
then: RETURN type=kotlin.Nothing from=equals
CONST Boolean type=kotlin.Boolean value='false'
VAR val tmp0_other_with_cast: Test1
TYPE_OP operator=CAST typeOperand=Test1
GET_VAR other type=kotlin.Any? operator=null
WHEN type=kotlin.Unit operator=null
if: CALL .NOT type=kotlin.Boolean operator=EXCLEQ
arg0: CALL .EQEQ type=kotlin.Boolean operator=EXCLEQ
arg0: CALL .<get-x> type=kotlin.Int operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1
arg1: CALL .<get-x> type=kotlin.Int operator=GET_PROPERTY
$this: GET_VAR tmp0_other_with_cast type=Test1 operator=null
then: RETURN type=kotlin.Nothing from=equals
CONST Boolean type=kotlin.Boolean value='false'
WHEN type=kotlin.Unit operator=null
if: CALL .NOT type=kotlin.Boolean operator=EXCLEQ
arg0: CALL .EQEQ type=kotlin.Boolean operator=EXCLEQ
arg0: CALL .<get-y> type=kotlin.String operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1
arg1: CALL .<get-y> type=kotlin.String operator=GET_PROPERTY
$this: GET_VAR tmp0_other_with_cast type=Test1 operator=null
then: RETURN type=kotlin.Nothing from=equals
CONST Boolean type=kotlin.Boolean value='false'
WHEN type=kotlin.Unit operator=null
if: CALL .NOT type=kotlin.Boolean operator=EXCLEQ
arg0: CALL .EQEQ type=kotlin.Boolean operator=EXCLEQ
arg0: CALL .<get-z> type=kotlin.Any operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1
arg1: CALL .<get-z> type=kotlin.Any operator=GET_PROPERTY
$this: GET_VAR tmp0_other_with_cast type=Test1 operator=null
then: RETURN type=kotlin.Nothing from=equals
CONST Boolean type=kotlin.Boolean value='false'
RETURN type=kotlin.Nothing from=equals
CONST Boolean type=kotlin.Boolean value='true'