IrConstructorCall support in JVM_IR, JS_IR, and FIR2IR

This commit is contained in:
Dmitry Petrov
2019-03-26 17:25:00 +03:00
parent 82128800c5
commit b78d1bb2b9
287 changed files with 9008 additions and 8128 deletions
@@ -1,12 +1,12 @@
FILE fqName:<root> fileName:/coercionInLoop.kt
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
BLOCK_BODY
VAR name:a type:IrErrorType [val]
VAR name:a type:IrErrorType [val]
ERROR_CALL 'Unresolved reference: <Unresolved name: DoubleArray>#' type=IrErrorType
CONST Int type=kotlin.Int value=5
VAR name:x type:IrErrorType [val]
VAR name:x type:IrErrorType [val]
ERROR_CALL 'Unresolved reference: <Unresolved name: iterator>#' type=IrErrorType
VAR name:i type:kotlin.Int [var]
VAR name:i type:kotlin.Int [var]
CONST Int type=kotlin.Int value=0
WHILE label=null origin=WHILE_LOOP
condition: ERROR_CALL 'Unresolved reference: <Unresolved name: hasNext>#' type=IrErrorType
@@ -19,10 +19,9 @@ FILE fqName:<root> fileName:/coercionInLoop.kt
GET_VAR 'var i: kotlin.Int [var] declared in <root>.box' type=kotlin.Int origin=null
arg1: ERROR_CALL 'Unresolved reference: <Unresolved name: next>#' type=IrErrorType
then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value="Fail "
GET_VAR 'var i: kotlin.Int [var] declared in <root>.box' type=kotlin.Int origin=null
VAR name:<unary> type:kotlin.Int [val]
CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
other: GET_VAR 'var i: kotlin.Int [var] declared in <root>.box' type=kotlin.Int origin=null
VAR name:<unary> type:kotlin.Int [val]
GET_VAR 'var i: kotlin.Int [var] declared in <root>.box' type=kotlin.Int origin=null
ERROR_CALL 'Unresolved reference: R|<local>/i|' type=IrErrorType
GET_VAR 'val <unary>: kotlin.Int [val] declared in <root>.box' type=kotlin.Int origin=null
@@ -1,87 +1,87 @@
FILE fqName:<root> fileName:/integerCoercionToT.kt
CLASS INTERFACE name:CPointed modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.CPointed
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.CPointed
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> 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
$this: VALUE_PARAMETER name:<this> 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
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:reinterpret visibility:public modality:FINAL <T> () returnType:T of <root>.reinterpret [inline]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:reinterpret visibility:public modality:FINAL <T> () returnType:T of <root>.reinterpret [inline]
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun reinterpret <T> (): T of <root>.reinterpret [inline] declared in <root>'
CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin' type=kotlin.Nothing origin=null
CLASS CLASS name:CInt32VarX modality:FINAL visibility:public superTypes:[<root>.CPointed]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.CInt32VarX
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.CInt32VarX
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
CONSTRUCTOR visibility:public <> () returnType:<root>.CInt32VarX<T of <root>.CInt32VarX> [primary]
CONSTRUCTOR visibility:public <> () returnType:<root>.CInt32VarX<T of <root>.CInt32VarX> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CInt32VarX modality:FINAL visibility:public superTypes:[<root>.CPointed]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> 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
$this: VALUE_PARAMETER name:<this> 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
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
PROPERTY name:value visibility:public modality:FINAL [var]
FUN name:<get-value> visibility:public modality:FINAL <> () returnType:T_INT of <uninitialized parent>
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
PROPERTY name:value visibility:public modality:FINAL [var]
FUN name:<get-value> visibility:public modality:FINAL <> () returnType:T_INT of <uninitialized parent>
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-value> (): T_INT of <uninitialized parent> declared in <root>'
CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin' type=kotlin.Nothing origin=null
FUN name:<set-value> visibility:public modality:FINAL <> (value:T_INT of <uninitialized parent>) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var]
VALUE_PARAMETER name:value index:0 type:T_INT of <uninitialized parent>
FUN name:<set-value> visibility:public modality:FINAL <> (value:T_INT of <uninitialized parent>) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var]
VALUE_PARAMETER name:value index:0 type:T_INT of <uninitialized parent>
BLOCK_BODY
CLASS CLASS name:IdType modality:FINAL visibility:public superTypes:[<root>.CPointed]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IdType
CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:<root>.IdType [primary]
VALUE_PARAMETER name:value index:0 type:kotlin.Int
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IdType
CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:<root>.IdType [primary]
VALUE_PARAMETER name:value index:0 type:kotlin.Int
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:IdType modality:FINAL visibility:public superTypes:[<root>.CPointed]'
PROPERTY name:value visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public [final]
PROPERTY name:value visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public [final]
EXPRESSION_BODY
GET_VAR 'value: kotlin.Int declared in <root>.IdType.<init>' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.IdType) returnType:kotlin.Int
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.IdType
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.IdType) returnType:kotlin.Int
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.IdType
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-value> (): kotlin.Int declared in <root>.IdType'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.IdType declared in <root>.IdType.<get-value>' type=<root>.IdType origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> 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
$this: VALUE_PARAMETER name:<this> 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
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:foo visibility:public modality:FINAL <> (value:<root>.IdType, cv:<root>.CInt32VarX) returnType:kotlin.Unit
VALUE_PARAMETER name:value index:0 type:<root>.IdType
VALUE_PARAMETER name:cv index:1 type:<root>.CInt32VarX
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:foo visibility:public modality:FINAL <> (value:<root>.IdType, cv:<root>.CInt32VarX) returnType:kotlin.Unit
VALUE_PARAMETER name:value index:0 type:<root>.IdType
VALUE_PARAMETER name:cv index:1 type:<root>.CInt32VarX
BLOCK_BODY
ERROR_CALL 'Unresolved reference: R|<local>/value|' type=IrErrorType
+8 -8
View File
@@ -1,25 +1,25 @@
FILE fqName:<root> fileName:/kt24114.kt
FUN name:one visibility:public modality:FINAL <> () returnType:kotlin.Int
FUN name:one visibility:public modality:FINAL <> () returnType:kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun one (): kotlin.Int declared in <root>'
CONST Int type=kotlin.Int value=1
FUN name:two visibility:public modality:FINAL <> () returnType:kotlin.Int
FUN name:two visibility:public modality:FINAL <> () returnType:kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun two (): kotlin.Int declared in <root>'
CONST Int type=kotlin.Int value=2
FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Int
FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Int
BLOCK_BODY
WHILE label=null origin=WHILE_LOOP
condition: CONST Boolean type=kotlin.Boolean value=true
body: BLOCK type=kotlin.Int origin=WHEN
VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int [val]
VAR IR_TEMPORARY_VARIABLE name:tmp0_subject type:kotlin.Int [val]
WHEN type=kotlin.Int origin=WHEN
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'val tmp0_subject: kotlin.Int [val] declared in <root>.test1' type=kotlin.Int origin=null
arg1: CONST Int type=kotlin.Int value=1
then: BLOCK type=kotlin.Int origin=WHEN
VAR IR_TEMPORARY_VARIABLE name:tmp1_subject type:kotlin.Int [val]
VAR IR_TEMPORARY_VARIABLE name:tmp1_subject type:kotlin.Int [val]
WHEN type=kotlin.Int origin=WHEN
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
@@ -31,19 +31,19 @@ FILE fqName:<root> fileName:/kt24114.kt
if: CONST Boolean type=kotlin.Boolean value=true
then: RETURN type=kotlin.Nothing from='public final fun test1 (): kotlin.Int declared in <root>'
CONST Int type=kotlin.Int value=3
FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int
FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int
BLOCK_BODY
WHILE label=null origin=WHILE_LOOP
condition: CONST Boolean type=kotlin.Boolean value=true
body: BLOCK type=kotlin.Int origin=WHEN
VAR IR_TEMPORARY_VARIABLE name:tmp2_subject type:kotlin.Int [val]
VAR IR_TEMPORARY_VARIABLE name:tmp2_subject type:kotlin.Int [val]
WHEN type=kotlin.Int origin=WHEN
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'val tmp2_subject: kotlin.Int [val] declared in <root>.test2' type=kotlin.Int origin=null
arg1: CONST Int type=kotlin.Int value=1
then: BLOCK type=kotlin.Int origin=WHEN
VAR IR_TEMPORARY_VARIABLE name:tmp3_subject type:kotlin.Int [val]
VAR IR_TEMPORARY_VARIABLE name:tmp3_subject type:kotlin.Int [val]
WHEN type=kotlin.Int origin=WHEN
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
@@ -1,37 +1,37 @@
FILE fqName:<root> fileName:/fixationOrder1.kt
FUN name:foo visibility:public modality:FINAL <X, Y> () returnType:kotlin.Function1
FUN name:foo visibility:public modality:FINAL <X, Y> () returnType:kotlin.Function1
TYPE_PARAMETER name:X index:0 variance: superTypes:[]
TYPE_PARAMETER name:Y index:1 variance: superTypes:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun foo <X, Y> (): kotlin.Function1 declared in <root>'
CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin' type=kotlin.Nothing origin=null
CLASS INTERFACE name:Inv2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Inv2
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Inv2
TYPE_PARAMETER name:A index:0 variance: superTypes:[]
TYPE_PARAMETER name:B index:1 variance: superTypes:[]
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> 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
$this: VALUE_PARAMETER name:<this> 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
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:check visibility:public modality:FINAL <T, R> (x:T of <root>.check, y:R of <root>.check, f:kotlin.Function1) returnType:<root>.Inv2<T of <root>.check, R of <root>.check>
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:check visibility:public modality:FINAL <T, R> (x:T of <root>.check, y:R of <root>.check, f:kotlin.Function1) returnType:<root>.Inv2<T of <root>.check, R of <root>.check>
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:R index:0 variance: superTypes:[]
VALUE_PARAMETER name:x index:0 type:T of <root>.check
VALUE_PARAMETER name:y index:1 type:R of <root>.check
VALUE_PARAMETER name:f index:2 type:kotlin.Function1
VALUE_PARAMETER name:x index:0 type:T of <root>.check
VALUE_PARAMETER name:y index:1 type:R of <root>.check
VALUE_PARAMETER name:f index:2 type:kotlin.Function1
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun check <T, R> (x: T of <root>.check, y: R of <root>.check, f: kotlin.Function1): <root>.Inv2<T of <root>.check, R of <root>.check> declared in <root>'
CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin' type=kotlin.Nothing origin=null
FUN name:test visibility:public modality:FINAL <> () returnType:<root>.Inv2<T of <root>.check, R of <root>.check>
FUN name:test visibility:public modality:FINAL <> () returnType:<root>.Inv2<T of <root>.check, R of <root>.check>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test (): <root>.Inv2<T of <root>.check, R of <root>.check> declared in <root>'
CALL 'public final fun check <T, R> (x: T of <root>.check, y: R of <root>.check, f: kotlin.Function1): <root>.Inv2<T of <root>.check, R of <root>.check> declared in <root>' type=<root>.Inv2<T of <root>.check, R of <root>.check> origin=null
@@ -42,9 +42,9 @@ FILE fqName:<root> fileName:/fixationOrder1.kt
f: CALL 'public final fun foo <X, Y> (): kotlin.Function1 declared in <root>' type=kotlin.Function1 origin=null
<X>: <none>
<Y>: <none>
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
BLOCK_BODY
VAR name:x type:<root>.Inv2<kotlin.String, kotlin.Int> [val]
VAR name:x type:<root>.Inv2<kotlin.String, kotlin.Int> [val]
CALL 'public final fun test (): <root>.Inv2<T of <root>.check, R of <root>.check> declared in <root>' type=<root>.Inv2<T of <root>.check, R of <root>.check> origin=null
RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
CONST String type=kotlin.String value="OK"
@@ -1,41 +1,41 @@
FILE fqName:<root> fileName:/typeAliasCtorForGenericClass.kt
CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
TYPE_PARAMETER name:Q index:0 variance: superTypes:[]
CONSTRUCTOR visibility:public <> (q:Q of <root>.A) returnType:<root>.A<Q of <root>.A> [primary]
VALUE_PARAMETER name:q index:0 type:Q of <root>.A
CONSTRUCTOR visibility:public <> (q:Q of <root>.A) returnType:<root>.A<Q of <root>.A> [primary]
VALUE_PARAMETER name:q index:0 type:Q of <root>.A
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]'
PROPERTY name:q visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:q type:Q of <root>.A visibility:public [final]
PROPERTY name:q visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:q type:Q of <root>.A visibility:public [final]
EXPRESSION_BODY
GET_VAR 'q: Q of <root>.A declared in <root>.A.<init>' type=Q of <root>.A origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-q> visibility:public modality:FINAL <> ($this:<root>.A) returnType:Q of <root>.A
correspondingProperty: PROPERTY name:q visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.A
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-q> visibility:public modality:FINAL <> ($this:<root>.A) returnType:Q of <root>.A
correspondingProperty: PROPERTY name:q visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.A
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-q> (): Q of <root>.A declared in <root>.A'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:q type:Q of <root>.A visibility:public [final] ' type=Q of <root>.A origin=null
receiver: GET_VAR '<this>: <root>.A declared in <root>.A.<get-q>' type=<root>.A origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> 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
$this: VALUE_PARAMETER name:<this> 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
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
VAR name:b type:IrErrorType [val]
VAR name:b type:IrErrorType [val]
ERROR_CALL 'Unresolved reference: <Unresolved name: B>#' type=IrErrorType
CONST Int type=kotlin.Int value=2
VAR name:b2 type:IrErrorType [val]
VAR name:b2 type:IrErrorType [val]
ERROR_CALL 'Unresolved reference: <Unresolved name: B2>#' type=IrErrorType
GET_VAR 'val b: IrErrorType [val] declared in <root>.bar' type=IrErrorType origin=null
@@ -36,10 +36,8 @@ FILE fqName:<root> fileName:/typeAliasCtorForGenericClass.kt
VAR name:b type:<root>.A<kotlin.Int> [val]
CONSTRUCTOR_CALL 'public constructor <init> (q: Q of <root>.A) [primary] declared in <root>.A' type=<root>.A<kotlin.Int> origin=null
<class: Q>: kotlin.Int
q: TYPE_OP type=Q of <root>.A origin=IMPLICIT_CAST typeOperand=Q of <root>.A
CONST Int type=kotlin.Int value=2
q: CONST Int type=kotlin.Int value=2
VAR name:b2 type:<root>.A<<root>.A<kotlin.Int>> [val]
CONSTRUCTOR_CALL 'public constructor <init> (q: Q of <root>.A) [primary] declared in <root>.A' type=<root>.A<<root>.A<kotlin.Int>> origin=null
<class: Q>: <root>.A<kotlin.Int>
q: TYPE_OP type=Q of <root>.A origin=IMPLICIT_CAST typeOperand=Q of <root>.A
GET_VAR 'val b: <root>.A<kotlin.Int> [val] declared in <root>.bar' type=<root>.A<kotlin.Int> origin=null
q: GET_VAR 'val b: <root>.A<kotlin.Int> [val] declared in <root>.bar' type=<root>.A<kotlin.Int> origin=null