IR text tests: Unmute tests that have main function

Don't use `main` function in these tests, because `main` function
has specific mangling rules in JVM. Use other function name.

^KT-57755
This commit is contained in:
Dmitriy Dolovov
2023-12-18 16:20:48 +01:00
committed by Space Team
parent 1759b9e3c4
commit af247c3344
32 changed files with 325 additions and 372 deletions
@@ -8,7 +8,7 @@ FILE fqName:<root> fileName:/argumentMappedWithError.kt
FUN name:foo visibility:public modality:FINAL <> (arg:kotlin.Number) returnType:kotlin.Unit
VALUE_PARAMETER name:arg index:0 type:kotlin.Number
BLOCK_BODY
FUN name:main visibility:public modality:FINAL <> (args:kotlin.Array<kotlin.String>) returnType:kotlin.Unit
FUN name:runMe visibility:public modality:FINAL <> (args:kotlin.Array<kotlin.String>) returnType:kotlin.Unit
VALUE_PARAMETER name:args index:0 type:kotlin.Array<kotlin.String>
BLOCK_BODY
VAR name:x type:kotlin.Int [val]
@@ -16,4 +16,4 @@ FILE fqName:<root> fileName:/argumentMappedWithError.kt
CALL 'public final fun foo (arg: kotlin.Number): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
arg: CALL 'public final fun convert <R> (): R of <root>.convert declared in <root>' type=kotlin.Number origin=null
<R>: kotlin.Number
$receiver: GET_VAR 'val x: kotlin.Int declared in <root>.main' type=kotlin.Int origin=null
$receiver: GET_VAR 'val x: kotlin.Int declared in <root>.runMe' type=kotlin.Int origin=null
@@ -1,14 +1,11 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR
// ^ KT-57755 : Fix computing a mangled name for the `main` function
fun <R : Number> Number.convert(): R = TODO()
fun foo(arg: Number) {
}
fun main(args: Array<String>) {
fun runMe(args: Array<String>) {
val x: Int = 0
foo(x.convert())
}
@@ -5,7 +5,7 @@ fun <R : Number> Number.convert(): R {
fun foo(arg: Number) {
}
fun main(args: Array<String>) {
fun runMe(args: Array<String>) {
val x: Int = 0
foo(arg = x.convert<Number>())
}
@@ -15,16 +15,12 @@ fun <R : Number> Number.convert(): R
fun foo(arg: Number): Unit
// CHECK JVM_IR:
// Mangled name: #main(kotlin.Array<kotlin.String>){}
// Mangled name for the signature computed from Ir: main(kotlin.Array<kotlin.String>){}
// Mangled name for the signature computed from Descriptor: main(kotlin.Array<kotlin.String>){}%argumentMappedWithError.kt
// Public signature by IR: /main|5976701115139892152[0]
// Public signature by IR debug description: main(kotlin.Array<kotlin.String>){}
// Public signature by Frontend: /main|5561668743171252170[0]
// Public signature by Frontend debug description: main(kotlin.Array<kotlin.String>){}%argumentMappedWithError.kt
// Mangled name: #runMe(kotlin.Array<kotlin.String>){}
// Public signature: /runMe|-242509563910791110[0]
// Public signature debug description: runMe(kotlin.Array<kotlin.String>){}
// CHECK JS_IR NATIVE:
// Mangled name: #main(kotlin.Array<kotlin.String>){}
// Public signature: /main|5976701115139892152[0]
// Public signature debug description: main(kotlin.Array<kotlin.String>){}
fun main(args: Array<String>): Unit
// Mangled name: #runMe(kotlin.Array<kotlin.String>){}
// Public signature: /runMe|-242509563910791110[0]
// Public signature debug description: runMe(kotlin.Array<kotlin.String>){}
fun runMe(args: Array<String>): Unit
@@ -1,5 +1,5 @@
FILE fqName:<root> fileName:/suspendConversionForExtensionFunction.kt
FUN name:main visibility:public modality:FINAL <> () returnType:kotlin.Unit
FUN name:runMe visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
VAR name:foo type:@[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> [val]
FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> origin=LAMBDA
@@ -7,22 +7,22 @@ FILE fqName:<root> fileName:/suspendConversionForExtensionFunction.kt
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
VALUE_PARAMETER name:it index:0 type:kotlin.coroutines.SuspendFunction0<kotlin.Unit>
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <anonymous> (it: kotlin.coroutines.SuspendFunction0<kotlin.Unit>): kotlin.Unit declared in <root>.main'
RETURN type=kotlin.Nothing from='local final fun <anonymous> (it: kotlin.coroutines.SuspendFunction0<kotlin.Unit>): kotlin.Unit declared in <root>.runMe'
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
VAR name:f type:kotlin.Function0<kotlin.Unit> [val]
FUN_EXPR type=kotlin.Function0<kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.main'
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.runMe'
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
CALL 'public abstract fun invoke (p1: P1 of kotlin.Function2, p2: P2 of kotlin.Function2): R of kotlin.Function2 declared in kotlin.Function2' type=kotlin.Unit origin=INVOKE
$this: GET_VAR 'val foo: @[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> declared in <root>.main' type=@[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> origin=VARIABLE_AS_FUNCTION
$this: GET_VAR 'val foo: @[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> declared in <root>.runMe' type=@[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> origin=VARIABLE_AS_FUNCTION
p1: CONST String type=kotlin.String value=""
p2: BLOCK type=kotlin.coroutines.SuspendFunction0<kotlin.Unit> origin=SUSPEND_CONVERSION
FUN ADAPTER_FOR_SUSPEND_CONVERSION name:suspendConversion visibility:local modality:FINAL <> ($receiver:kotlin.Function0<kotlin.Unit>) returnType:kotlin.Unit [suspend]
$receiver: VALUE_PARAMETER ADAPTER_PARAMETER_FOR_SUSPEND_CONVERSION name:callee type:kotlin.Function0<kotlin.Unit>
BLOCK_BODY
CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=kotlin.Unit origin=null
$this: GET_VAR 'callee: kotlin.Function0<kotlin.Unit> declared in <root>.main.suspendConversion' type=kotlin.Function0<kotlin.Unit> origin=null
FUNCTION_REFERENCE 'local final fun suspendConversion (): kotlin.Unit declared in <root>.main' type=kotlin.coroutines.SuspendFunction0<kotlin.Unit> origin=SUSPEND_CONVERSION reflectionTarget=null
$receiver: GET_VAR 'val f: kotlin.Function0<kotlin.Unit> declared in <root>.main' type=kotlin.Function0<kotlin.Unit> origin=null
$this: GET_VAR 'callee: kotlin.Function0<kotlin.Unit> declared in <root>.runMe.suspendConversion' type=kotlin.Function0<kotlin.Unit> origin=null
FUNCTION_REFERENCE 'local final fun suspendConversion (): kotlin.Unit declared in <root>.runMe' type=kotlin.coroutines.SuspendFunction0<kotlin.Unit> origin=SUSPEND_CONVERSION reflectionTarget=null
$receiver: GET_VAR 'val f: kotlin.Function0<kotlin.Unit> declared in <root>.runMe' type=kotlin.Function0<kotlin.Unit> origin=null
@@ -1,5 +1,5 @@
FILE fqName:<root> fileName:/suspendConversionForExtensionFunction.kt
FUN name:main visibility:public modality:FINAL <> () returnType:kotlin.Unit
FUN name:runMe visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
VAR name:foo type:@[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> [val]
FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> origin=LAMBDA
@@ -7,22 +7,22 @@ FILE fqName:<root> fileName:/suspendConversionForExtensionFunction.kt
$receiver: VALUE_PARAMETER name:$this$null type:kotlin.String
VALUE_PARAMETER name:it index:0 type:kotlin.coroutines.SuspendFunction0<kotlin.Unit>
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <anonymous> (it: kotlin.coroutines.SuspendFunction0<kotlin.Unit>): kotlin.Unit declared in <root>.main'
RETURN type=kotlin.Nothing from='local final fun <anonymous> (it: kotlin.coroutines.SuspendFunction0<kotlin.Unit>): kotlin.Unit declared in <root>.runMe'
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
VAR name:f type:kotlin.Function0<kotlin.Unit> [val]
FUN_EXPR type=kotlin.Function0<kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.main'
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.runMe'
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
CALL 'public abstract fun invoke (p1: P1 of kotlin.Function2, p2: P2 of kotlin.Function2): R of kotlin.Function2 declared in kotlin.Function2' type=kotlin.Unit origin=INVOKE
$this: GET_VAR 'val foo: @[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> declared in <root>.main' type=@[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> origin=VARIABLE_AS_FUNCTION
$this: GET_VAR 'val foo: @[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> declared in <root>.runMe' type=@[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> origin=VARIABLE_AS_FUNCTION
p1: CONST String type=kotlin.String value=""
p2: BLOCK type=kotlin.coroutines.SuspendFunction0<kotlin.Unit> origin=SUSPEND_CONVERSION
FUN ADAPTER_FOR_SUSPEND_CONVERSION name:suspendConversion0 visibility:local modality:FINAL <> ($receiver:kotlin.Function0<kotlin.Unit>) returnType:kotlin.Unit [suspend]
$receiver: VALUE_PARAMETER ADAPTER_PARAMETER_FOR_SUSPEND_CONVERSION name:callee type:kotlin.Function0<kotlin.Unit>
BLOCK_BODY
CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=kotlin.Unit origin=null
$this: GET_VAR 'callee: kotlin.Function0<kotlin.Unit> declared in <root>.main.suspendConversion0' type=kotlin.Function0<kotlin.Unit> origin=null
FUNCTION_REFERENCE 'local final fun suspendConversion0 (): kotlin.Unit declared in <root>.main' type=kotlin.coroutines.SuspendFunction0<kotlin.Unit> origin=SUSPEND_CONVERSION reflectionTarget=null
$receiver: GET_VAR 'val f: kotlin.Function0<kotlin.Unit> declared in <root>.main' type=kotlin.Function0<kotlin.Unit> origin=null
$this: GET_VAR 'callee: kotlin.Function0<kotlin.Unit> declared in <root>.runMe.suspendConversion0' type=kotlin.Function0<kotlin.Unit> origin=null
FUNCTION_REFERENCE 'local final fun suspendConversion0 (): kotlin.Unit declared in <root>.runMe' type=kotlin.coroutines.SuspendFunction0<kotlin.Unit> origin=SUSPEND_CONVERSION reflectionTarget=null
$receiver: GET_VAR 'val f: kotlin.Function0<kotlin.Unit> declared in <root>.runMe' type=kotlin.Function0<kotlin.Unit> origin=null
@@ -1,10 +1,7 @@
// SKIP_KT_DUMP
// !LANGUAGE: +SuspendConversion
// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR
// ^ KT-57755: Fix computing a mangled name for the `main` function
fun main() {
fun runMe() {
val foo: String.(suspend () -> Unit) -> Unit = {}
val f: () -> Unit = {}
"".foo(f)
@@ -1,14 +1,10 @@
// CHECK JVM_IR:
// Mangled name: #main(){}
// Mangled name for the signature computed from Ir: main(){}
// Mangled name for the signature computed from Descriptor: main(){}%suspendConversionForExtensionFunction.kt
// Public signature by IR: /main|-4284757841571462650[0]
// Public signature by IR debug description: main(){}
// Public signature by Frontend: /main|8952895695315889943[0]
// Public signature by Frontend debug description: main(){}%suspendConversionForExtensionFunction.kt
// Mangled name: #runMe(){}
// Public signature: /runMe|1754039929145531074[0]
// Public signature debug description: runMe(){}
// CHECK JS_IR NATIVE:
// Mangled name: #main(){}
// Public signature: /main|-4284757841571462650[0]
// Public signature debug description: main(){}
fun main(): Unit
// Mangled name: #runMe(){}
// Public signature: /runMe|1754039929145531074[0]
// Public signature debug description: runMe(){}
fun runMe(): Unit
@@ -93,124 +93,124 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun id <T> (t: T of foo.id): T of foo.id declared in foo'
GET_VAR 't: T of foo.id declared in foo.id' type=T of foo.id origin=null
FUN name:main visibility:public modality:FINAL <> () returnType:kotlin.Unit
FUN name:runMe visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
VAR name:a type:foo.A [val]
CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.A' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
$this: CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CONST Int type=kotlin.Int value=10
BLOCK type=kotlin.Unit origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
$this: GET_VAR 'val tmp_0: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_0: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val tmp_0: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_0: foo.A declared in foo.runMe' type=foo.A origin=null
other: CONST Int type=kotlin.Int value=20
BLOCK type=kotlin.Unit origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
$this: GET_VAR 'val tmp_1: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_1: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun minus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val tmp_1: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_1: foo.A declared in foo.runMe' type=foo.A origin=null
other: CONST Int type=kotlin.Int value=20
BLOCK type=kotlin.Unit origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
$this: GET_VAR 'val tmp_2: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_2: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val tmp_2: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_2: foo.A declared in foo.runMe' type=foo.A origin=null
other: CONST Int type=kotlin.Int value=2
BLOCK type=kotlin.Unit origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
$this: GET_VAR 'val tmp_3: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_3: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val tmp_3: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_3: foo.A declared in foo.runMe' type=foo.A origin=null
other: CONST Int type=kotlin.Int value=5
BLOCK type=kotlin.Unit origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
$this: GET_VAR 'val tmp_4: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_4: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val tmp_4: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_4: foo.A declared in foo.runMe' type=foo.A origin=null
other: CONST Int type=kotlin.Int value=3
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlin.Int [val]
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val tmp_5: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_5: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
$this: GET_VAR 'val tmp_5: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_5: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_6: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_6: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_6: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
GET_VAR 'val tmp_6: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlin.Int [val]
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val tmp_7: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_7: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
$this: GET_VAR 'val tmp_7: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_7: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_8: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_8: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_8: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
GET_VAR 'val tmp_8: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
$this: GET_VAR 'val tmp_9: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_9: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val tmp_9: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_9: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val tmp_9: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_9: foo.A declared in foo.runMe' type=foo.A origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
$this: GET_VAR 'val tmp_10: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_10: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val tmp_10: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_10: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val tmp_10: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_10: foo.A declared in foo.runMe' type=foo.A origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlin.Int [val]
@@ -219,8 +219,8 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.B' type=kotlin.Unit origin=EQ
$this: GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
<set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_11: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_11: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_11: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
GET_VAR 'val tmp_11: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlin.Int [val]
@@ -229,8 +229,8 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.B' type=kotlin.Unit origin=EQ
$this: GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
<set-?>: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_12: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_12: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_12: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
GET_VAR 'val tmp_12: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.B' type=kotlin.Unit origin=EQ
@@ -263,12 +263,12 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
$this: GET_VAR 'val tmp_13: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_14: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_13: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_14: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_13: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_14: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_13: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_14: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=20
BLOCK type=kotlin.Unit origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlin.Array<kotlin.Int> [val]
@@ -278,12 +278,12 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
$this: GET_VAR 'val tmp_15: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_16: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_15: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_16: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun minus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_15: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_16: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_15: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_16: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=20
BLOCK type=kotlin.Unit origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlin.Array<kotlin.Int> [val]
@@ -293,12 +293,12 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_18 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
$this: GET_VAR 'val tmp_17: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_18: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_17: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_18: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_17: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_18: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_17: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_18: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=2
BLOCK type=kotlin.Unit origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_19 type:kotlin.Array<kotlin.Int> [val]
@@ -308,12 +308,12 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_20 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
$this: GET_VAR 'val tmp_19: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_20: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_19: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_20: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_19: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_20: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_19: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_20: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=5
BLOCK type=kotlin.Unit origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_21 type:kotlin.Array<kotlin.Int> [val]
@@ -323,12 +323,12 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_22 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
$this: GET_VAR 'val tmp_21: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_22: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_21: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_22: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_21: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_22: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_21: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_22: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=3
VAR IR_TEMPORARY_VARIABLE name:tmp_23 type:kotlin.Array<kotlin.Int> [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
@@ -338,15 +338,15 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
CONST Int type=kotlin.Int value=0
VAR IR_TEMPORARY_VARIABLE name:tmp_25 type:kotlin.Int [val]
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_23: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_24: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_23: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_24: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
$this: GET_VAR 'val tmp_23: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_24: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_23: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_24: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_25: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_25: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
GET_VAR 'val tmp_25: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_25: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_26 type:kotlin.Array<kotlin.Int> [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
<T>: kotlin.Array<kotlin.Int>
@@ -355,15 +355,15 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
CONST Int type=kotlin.Int value=0
VAR IR_TEMPORARY_VARIABLE name:tmp_28 type:kotlin.Int [val]
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_26: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_27: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_26: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_27: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
$this: GET_VAR 'val tmp_26: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_27: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_26: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_27: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_28: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_28: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
GET_VAR 'val tmp_28: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_28: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_29 type:kotlin.Array<kotlin.Int> [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
<T>: kotlin.Array<kotlin.Int>
@@ -371,16 +371,16 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_30 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
$this: GET_VAR 'val tmp_29: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_30: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_29: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_30: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_29: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_30: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_29: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_30: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_29: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_30: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_29: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_30: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_31 type:kotlin.Array<kotlin.Int> [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
<T>: kotlin.Array<kotlin.Int>
@@ -388,73 +388,73 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_32 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
$this: GET_VAR 'val tmp_31: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_32: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_31: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_32: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_31: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_32: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_31: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_32: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_31: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_32: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_31: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_32: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_33 type:kotlin.Array<kotlin.Int> [val]
CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
VAR IR_TEMPORARY_VARIABLE name:tmp_34 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
VAR IR_TEMPORARY_VARIABLE name:tmp_35 type:kotlin.Int [val]
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_33: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_34: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_33: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_34: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
$this: GET_VAR 'val tmp_33: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_34: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_33: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_34: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_35: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_35: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
GET_VAR 'val tmp_35: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_35: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_36 type:kotlin.Array<kotlin.Int> [val]
CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
VAR IR_TEMPORARY_VARIABLE name:tmp_37 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
VAR IR_TEMPORARY_VARIABLE name:tmp_38 type:kotlin.Int [val]
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_36: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_37: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_36: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_37: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
$this: GET_VAR 'val tmp_36: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_37: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_36: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_37: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_38: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_38: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
GET_VAR 'val tmp_38: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_38: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_39 type:kotlin.Array<kotlin.Int> [val]
CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
VAR IR_TEMPORARY_VARIABLE name:tmp_40 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
$this: GET_VAR 'val tmp_39: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_40: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_39: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_40: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_39: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_40: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_39: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_40: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_39: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_40: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_39: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_40: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_41 type:kotlin.Array<kotlin.Int> [val]
CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
VAR IR_TEMPORARY_VARIABLE name:tmp_42 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
$this: GET_VAR 'val tmp_41: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_42: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_41: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_42: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_41: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_42: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_41: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_42: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_41: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_42: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_41: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_42: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
@@ -36,7 +36,7 @@ fun <T : Any?> id(t: T): T {
return t
}
fun main() {
fun runMe() {
val a: A = A()
id<A>(t = a).<set-prop>(<set-?> = 10)
{ // BLOCK
@@ -93,128 +93,128 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun id <T> (t: T of foo.id): T of foo.id declared in foo'
GET_VAR 't: T of foo.id declared in foo.id' type=T of foo.id origin=null
FUN name:main visibility:public modality:FINAL <> () returnType:kotlin.Unit
FUN name:runMe visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
VAR name:a type:foo.A [val]
CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.A' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
$this: CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CONST Int type=kotlin.Int value=10
BLOCK type=kotlin.Unit origin=PLUSEQ
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=PLUSEQ
$this: GET_VAR 'val tmp_0: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_0: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=PLUSEQ
$this: GET_VAR 'val tmp_0: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_0: foo.A declared in foo.runMe' type=foo.A origin=null
other: CONST Int type=kotlin.Int value=20
BLOCK type=kotlin.Unit origin=MINUSEQ
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=MINUSEQ
$this: GET_VAR 'val tmp_1: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_1: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun minus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MINUSEQ
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=MINUSEQ
$this: GET_VAR 'val tmp_1: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_1: foo.A declared in foo.runMe' type=foo.A origin=null
other: CONST Int type=kotlin.Int value=20
BLOCK type=kotlin.Unit origin=MULTEQ
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=MULTEQ
$this: GET_VAR 'val tmp_2: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_2: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MULTEQ
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=MULTEQ
$this: GET_VAR 'val tmp_2: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_2: foo.A declared in foo.runMe' type=foo.A origin=null
other: CONST Int type=kotlin.Int value=2
BLOCK type=kotlin.Unit origin=DIVEQ
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=DIVEQ
$this: GET_VAR 'val tmp_3: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_3: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=DIVEQ
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=DIVEQ
$this: GET_VAR 'val tmp_3: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_3: foo.A declared in foo.runMe' type=foo.A origin=null
other: CONST Int type=kotlin.Int value=5
BLOCK type=kotlin.Unit origin=PERCEQ
VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=PERCEQ
$this: GET_VAR 'val tmp_4: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_4: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PERCEQ
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=PERCEQ
$this: GET_VAR 'val tmp_4: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_4: foo.A declared in foo.runMe' type=foo.A origin=null
other: CONST Int type=kotlin.Int value=3
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=POSTFIX_INCR
VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
BLOCK type=kotlin.Int origin=POSTFIX_INCR
VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlin.Int [val]
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=POSTFIX_INCR
$this: GET_VAR 'val tmp_5: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_5: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=POSTFIX_INCR
$this: GET_VAR 'val tmp_5: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_5: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR
$this: GET_VAR 'val tmp_6: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_6: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_6: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
GET_VAR 'val tmp_6: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=POSTFIX_DECR
VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
BLOCK type=kotlin.Int origin=POSTFIX_DECR
VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlin.Int [val]
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=POSTFIX_DECR
$this: GET_VAR 'val tmp_7: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_7: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=POSTFIX_DECR
$this: GET_VAR 'val tmp_7: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_7: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_DECR
$this: GET_VAR 'val tmp_8: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_8: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_8: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
GET_VAR 'val tmp_8: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=PREFIX_INCR
VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
BLOCK type=kotlin.Int origin=PREFIX_INCR
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=PREFIX_INCR
$this: GET_VAR 'val tmp_9: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_9: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_INCR
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=PREFIX_INCR
$this: GET_VAR 'val tmp_9: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_9: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=PREFIX_INCR
$this: GET_VAR 'val tmp_9: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_9: foo.A declared in foo.runMe' type=foo.A origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=PREFIX_DECR
VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:foo.A [val]
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
<T>: foo.A
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
t: GET_VAR 'val a: foo.A declared in foo.runMe' type=foo.A origin=null
BLOCK type=kotlin.Int origin=PREFIX_DECR
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=PREFIX_DECR
$this: GET_VAR 'val tmp_10: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_10: foo.A declared in foo.runMe' type=foo.A origin=null
<set-?>: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_DECR
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=PREFIX_DECR
$this: GET_VAR 'val tmp_10: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_10: foo.A declared in foo.runMe' type=foo.A origin=null
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=PREFIX_DECR
$this: GET_VAR 'val tmp_10: foo.A declared in foo.main' type=foo.A origin=null
$this: GET_VAR 'val tmp_10: foo.A declared in foo.runMe' type=foo.A origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=POSTFIX_INCR
VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:foo.B [val]
@@ -222,12 +222,12 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
BLOCK type=kotlin.Int origin=POSTFIX_INCR
VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlin.Int [val]
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=POSTFIX_INCR
$this: GET_VAR 'val tmp_11: foo.B declared in foo.main' type=foo.B origin=null
$this: GET_VAR 'val tmp_11: foo.B declared in foo.runMe' type=foo.B origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.B' type=kotlin.Unit origin=POSTFIX_INCR
$this: GET_VAR 'val tmp_11: foo.B declared in foo.main' type=foo.B origin=null
$this: GET_VAR 'val tmp_11: foo.B declared in foo.runMe' type=foo.B origin=null
<set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR
$this: GET_VAR 'val tmp_12: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_12: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_12: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
GET_VAR 'val tmp_12: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=POSTFIX_DECR
VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:foo.B [val]
@@ -235,36 +235,36 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
BLOCK type=kotlin.Int origin=POSTFIX_DECR
VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlin.Int [val]
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=POSTFIX_DECR
$this: GET_VAR 'val tmp_13: foo.B declared in foo.main' type=foo.B origin=null
$this: GET_VAR 'val tmp_13: foo.B declared in foo.runMe' type=foo.B origin=null
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.B' type=kotlin.Unit origin=POSTFIX_DECR
$this: GET_VAR 'val tmp_13: foo.B declared in foo.main' type=foo.B origin=null
$this: GET_VAR 'val tmp_13: foo.B declared in foo.runMe' type=foo.B origin=null
<set-?>: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_DECR
$this: GET_VAR 'val tmp_14: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_14: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_14: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
GET_VAR 'val tmp_14: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=PREFIX_INCR
VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:foo.B [val]
GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
BLOCK type=kotlin.Int origin=PREFIX_INCR
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.B' type=kotlin.Unit origin=PREFIX_INCR
$this: GET_VAR 'val tmp_15: foo.B declared in foo.main' type=foo.B origin=null
$this: GET_VAR 'val tmp_15: foo.B declared in foo.runMe' type=foo.B origin=null
<set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_INCR
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=PREFIX_INCR
$this: GET_VAR 'val tmp_15: foo.B declared in foo.main' type=foo.B origin=null
$this: GET_VAR 'val tmp_15: foo.B declared in foo.runMe' type=foo.B origin=null
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=PREFIX_INCR
$this: GET_VAR 'val tmp_15: foo.B declared in foo.main' type=foo.B origin=null
$this: GET_VAR 'val tmp_15: foo.B declared in foo.runMe' type=foo.B origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=PREFIX_DECR
VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:foo.B [val]
GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
BLOCK type=kotlin.Int origin=PREFIX_DECR
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.B' type=kotlin.Unit origin=PREFIX_DECR
$this: GET_VAR 'val tmp_16: foo.B declared in foo.main' type=foo.B origin=null
$this: GET_VAR 'val tmp_16: foo.B declared in foo.runMe' type=foo.B origin=null
<set-?>: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_DECR
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=PREFIX_DECR
$this: GET_VAR 'val tmp_16: foo.B declared in foo.main' type=foo.B origin=null
$this: GET_VAR 'val tmp_16: foo.B declared in foo.runMe' type=foo.B origin=null
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=PREFIX_DECR
$this: GET_VAR 'val tmp_16: foo.B declared in foo.main' type=foo.B origin=null
$this: GET_VAR 'val tmp_16: foo.B declared in foo.runMe' type=foo.B origin=null
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=EQ
$this: CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
<T>: kotlin.Array<kotlin.Int>
@@ -279,12 +279,12 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_18 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=PLUSEQ
$this: GET_VAR 'val tmp_17: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_18: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_17: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_18: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PLUSEQ
$this: GET_VAR 'val tmp_17: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_18: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_17: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_18: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=20
BLOCK type=kotlin.Unit origin=MINUSEQ
VAR IR_TEMPORARY_VARIABLE name:tmp_19 type:kotlin.Array<kotlin.Int> [val]
@@ -294,12 +294,12 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_20 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=MINUSEQ
$this: GET_VAR 'val tmp_19: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_20: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_19: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_20: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun minus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MINUSEQ
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=MINUSEQ
$this: GET_VAR 'val tmp_19: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_20: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_19: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_20: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=20
BLOCK type=kotlin.Unit origin=MULTEQ
VAR IR_TEMPORARY_VARIABLE name:tmp_21 type:kotlin.Array<kotlin.Int> [val]
@@ -309,12 +309,12 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_22 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=MULTEQ
$this: GET_VAR 'val tmp_21: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_22: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_21: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_22: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MULTEQ
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=MULTEQ
$this: GET_VAR 'val tmp_21: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_22: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_21: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_22: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=2
BLOCK type=kotlin.Unit origin=DIVEQ
VAR IR_TEMPORARY_VARIABLE name:tmp_23 type:kotlin.Array<kotlin.Int> [val]
@@ -324,12 +324,12 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_24 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=DIVEQ
$this: GET_VAR 'val tmp_23: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_24: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_23: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_24: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=DIVEQ
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=DIVEQ
$this: GET_VAR 'val tmp_23: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_24: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_23: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_24: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=5
BLOCK type=kotlin.Unit origin=PERCEQ
VAR IR_TEMPORARY_VARIABLE name:tmp_25 type:kotlin.Array<kotlin.Int> [val]
@@ -339,12 +339,12 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_26 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=PERCEQ
$this: GET_VAR 'val tmp_25: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_26: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_25: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_26: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PERCEQ
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PERCEQ
$this: GET_VAR 'val tmp_25: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_26: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_25: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_26: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=3
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=POSTFIX_INCR
@@ -356,14 +356,14 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
CONST Int type=kotlin.Int value=0
VAR IR_TEMPORARY_VARIABLE name:tmp_29 type:kotlin.Int [val]
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=POSTFIX_INCR
$this: GET_VAR 'val tmp_27: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_28: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_27: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_28: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=POSTFIX_INCR
$this: GET_VAR 'val tmp_27: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_28: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_27: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_28: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR
$this: GET_VAR 'val tmp_29: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_29: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_29: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
GET_VAR 'val tmp_29: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=POSTFIX_DECR
VAR IR_TEMPORARY_VARIABLE name:tmp_30 type:kotlin.Array<kotlin.Int> [val]
@@ -374,14 +374,14 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
CONST Int type=kotlin.Int value=0
VAR IR_TEMPORARY_VARIABLE name:tmp_32 type:kotlin.Int [val]
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=POSTFIX_DECR
$this: GET_VAR 'val tmp_30: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_31: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_30: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_31: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=POSTFIX_DECR
$this: GET_VAR 'val tmp_30: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_31: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_30: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_31: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_DECR
$this: GET_VAR 'val tmp_32: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_32: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_32: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
GET_VAR 'val tmp_32: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=PREFIX_INCR
VAR IR_TEMPORARY_VARIABLE name:tmp_33 type:kotlin.Array<kotlin.Int> [val]
@@ -391,15 +391,15 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_34 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=PREFIX_INCR
$this: GET_VAR 'val tmp_33: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_34: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_33: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_34: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_INCR
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_INCR
$this: GET_VAR 'val tmp_33: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_34: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_33: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_34: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_INCR
$this: GET_VAR 'val tmp_33: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_34: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_33: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_34: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=PREFIX_DECR
VAR IR_TEMPORARY_VARIABLE name:tmp_35 type:kotlin.Array<kotlin.Int> [val]
@@ -409,15 +409,15 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_36 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=PREFIX_DECR
$this: GET_VAR 'val tmp_35: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_36: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_35: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_36: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_DECR
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_DECR
$this: GET_VAR 'val tmp_35: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_36: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_35: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_36: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_DECR
$this: GET_VAR 'val tmp_35: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_36: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_35: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_36: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=POSTFIX_INCR
VAR IR_TEMPORARY_VARIABLE name:tmp_37 type:kotlin.Array<kotlin.Int> [val]
@@ -426,14 +426,14 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
CONST Int type=kotlin.Int value=0
VAR IR_TEMPORARY_VARIABLE name:tmp_39 type:kotlin.Int [val]
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=POSTFIX_INCR
$this: GET_VAR 'val tmp_37: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_38: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_37: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_38: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=POSTFIX_INCR
$this: GET_VAR 'val tmp_37: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_38: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_37: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_38: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR
$this: GET_VAR 'val tmp_39: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_39: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_39: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
GET_VAR 'val tmp_39: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=POSTFIX_DECR
VAR IR_TEMPORARY_VARIABLE name:tmp_40 type:kotlin.Array<kotlin.Int> [val]
@@ -442,14 +442,14 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
CONST Int type=kotlin.Int value=0
VAR IR_TEMPORARY_VARIABLE name:tmp_42 type:kotlin.Int [val]
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=POSTFIX_DECR
$this: GET_VAR 'val tmp_40: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_41: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_40: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_41: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=POSTFIX_DECR
$this: GET_VAR 'val tmp_40: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_41: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_40: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_41: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_DECR
$this: GET_VAR 'val tmp_42: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
GET_VAR 'val tmp_42: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_42: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
GET_VAR 'val tmp_42: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=PREFIX_INCR
VAR IR_TEMPORARY_VARIABLE name:tmp_43 type:kotlin.Array<kotlin.Int> [val]
@@ -457,15 +457,15 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_44 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=PREFIX_INCR
$this: GET_VAR 'val tmp_43: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_44: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_43: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_44: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_INCR
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_INCR
$this: GET_VAR 'val tmp_43: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_44: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_43: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_44: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_INCR
$this: GET_VAR 'val tmp_43: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_44: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_43: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_44: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=PREFIX_DECR
VAR IR_TEMPORARY_VARIABLE name:tmp_45 type:kotlin.Array<kotlin.Int> [val]
@@ -473,12 +473,12 @@ FILE fqName:foo fileName:/AssignmentOperator.kt
VAR IR_TEMPORARY_VARIABLE name:tmp_46 type:kotlin.Int [val]
CONST Int type=kotlin.Int value=0
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=PREFIX_DECR
$this: GET_VAR 'val tmp_45: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_46: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_45: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_46: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_DECR
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_DECR
$this: GET_VAR 'val tmp_45: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_46: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_45: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_46: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_DECR
$this: GET_VAR 'val tmp_45: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_46: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_45: kotlin.Array<kotlin.Int> declared in foo.runMe' type=kotlin.Array<kotlin.Int> origin=null
index: GET_VAR 'val tmp_46: kotlin.Int declared in foo.runMe' type=kotlin.Int origin=null
@@ -1,5 +1,3 @@
// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR
// ^ KT-57755: Fix computing a mangled name for the `main` function
package foo
class A {
@@ -16,7 +14,7 @@ fun <T> id(t: T): T {
return t
}
fun main() {
fun runMe() {
val a = A()
id(a).prop = 10
@@ -36,7 +36,7 @@ fun <T : Any?> id(t: T): T {
return t
}
fun main() {
fun runMe() {
val a: A = A()
id<A>(t = a).<set-prop>(<set-?> = 10)
{ // BLOCK
@@ -90,15 +90,12 @@ object B {
fun <T : Any?> id(t: T): T
// CHECK JVM_IR:
// Mangled name: foo#main(){}
// Mangled name for the signature computed from Ir: main(){}
// Mangled name for the signature computed from Descriptor: main(){}%AssignmentOperator.kt
// Public signature by IR: foo/main|-4284757841571462650[0]
// Public signature by IR debug description: main(){}
// Public signature by Frontend: foo/main|7392120756922895329[0]
// Public signature by Frontend debug description: main(){}%AssignmentOperator.kt
// Mangled name: foo#runMe(){}
// Public signature: foo/runMe|1754039929145531074[0]
// Public signature debug description: runMe(){}
// CHECK JS_IR NATIVE:
// Mangled name: foo#main(){}
// Public signature: foo/main|-4284757841571462650[0]
// Public signature debug description: main(){}
fun main(): Unit
// Mangled name: foo#runMe(){}
// Public signature: foo/runMe|1754039929145531074[0]
// Public signature debug description: runMe(){}
fun runMe(): Unit
+3 -3
View File
@@ -1,5 +1,5 @@
FILE fqName:<root> fileName:/kt55458.kt
FUN name:main visibility:public modality:FINAL <> () returnType:kotlin.Unit
FUN name:runMe visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.Pair<kotlin.Int, kotlin.Int> [val]
CALL 'public final fun to <A, B> (that: B of kotlin.to): kotlin.Pair<A of kotlin.to, B of kotlin.to> declared in kotlin' type=kotlin.Pair<kotlin.Int, kotlin.Int> origin=null
@@ -9,6 +9,6 @@ FILE fqName:<root> fileName:/kt55458.kt
that: CONST Int type=kotlin.Int value=2
VAR name:a type:kotlin.Int [val]
CALL 'public final fun component1 (): A of kotlin.Pair declared in kotlin.Pair' type=kotlin.Int origin=COMPONENT_N(index=1)
$this: GET_VAR 'val tmp_0: kotlin.Pair<kotlin.Int, kotlin.Int> declared in <root>.main' type=kotlin.Pair<kotlin.Int, kotlin.Int> origin=null
$this: GET_VAR 'val tmp_0: kotlin.Pair<kotlin.Int, kotlin.Int> declared in <root>.runMe' type=kotlin.Pair<kotlin.Int, kotlin.Int> origin=null
CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit declared in kotlin.io' type=kotlin.Unit origin=null
message: GET_VAR 'val a: kotlin.Int declared in <root>.main' type=kotlin.Int origin=null
message: GET_VAR 'val a: kotlin.Int declared in <root>.runMe' type=kotlin.Int origin=null
+1 -1
View File
@@ -1,4 +1,4 @@
fun main() {
fun runMe() {
val tmp_0: Pair<Int, Int> = 1.to<Int, Int>(that = 2)
val a: Int = tmp_0.component1()
println(message = a)
+3 -3
View File
@@ -1,5 +1,5 @@
FILE fqName:<root> fileName:/kt55458.kt
FUN name:main visibility:public modality:FINAL <> () returnType:kotlin.Unit
FUN name:runMe visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
COMPOSITE type=kotlin.Unit origin=DESTRUCTURING_DECLARATION
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.Pair<kotlin.Int, kotlin.Int> [val]
@@ -10,6 +10,6 @@ FILE fqName:<root> fileName:/kt55458.kt
that: CONST Int type=kotlin.Int value=2
VAR name:a type:kotlin.Int [val]
CALL 'public final fun component1 (): A of kotlin.Pair declared in kotlin.Pair' type=kotlin.Int origin=COMPONENT_N(index=1)
$this: GET_VAR 'val tmp_0: kotlin.Pair<kotlin.Int, kotlin.Int> declared in <root>.main' type=kotlin.Pair<kotlin.Int, kotlin.Int> origin=null
$this: GET_VAR 'val tmp_0: kotlin.Pair<kotlin.Int, kotlin.Int> declared in <root>.runMe' type=kotlin.Pair<kotlin.Int, kotlin.Int> origin=null
CALL 'public final fun println (message: kotlin.Int): kotlin.Unit declared in kotlin.io' type=kotlin.Unit origin=null
message: GET_VAR 'val a: kotlin.Int declared in <root>.main' type=kotlin.Int origin=null
message: GET_VAR 'val a: kotlin.Int declared in <root>.runMe' type=kotlin.Int origin=null
+1 -4
View File
@@ -1,13 +1,10 @@
// WITH_STDLIB
// IGNORE_BACKEND_K1: JS_IR
// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR
// ^ KT-57755: Fix computing a mangled name for the `main` function
// KT-61141: `println (message: kotlin.Any?)` instead of `println (message: kotlin.Int)`
// IGNORE_BACKEND_K1: NATIVE
fun main() {
fun runMe() {
val (a: Any, _) = 1 to 2
println(a)
}
+1 -1
View File
@@ -1,4 +1,4 @@
fun main() {
fun runMe() {
// COMPOSITE {
val tmp_0: Pair<Int, Int> = 1.to<Int, Int>(that = 2)
val a: Int = tmp_0.component1()
+7 -11
View File
@@ -1,14 +1,10 @@
// CHECK JVM_IR:
// Mangled name: #main(){}
// Mangled name for the signature computed from Ir: main(){}
// Mangled name for the signature computed from Descriptor: main(){}%kt55458.kt
// Public signature by IR: /main|-4284757841571462650[0]
// Public signature by IR debug description: main(){}
// Public signature by Frontend: /main|-1793468409000137506[0]
// Public signature by Frontend debug description: main(){}%kt55458.kt
// Mangled name: #runMe(){}
// Public signature: /runMe|1754039929145531074[0]
// Public signature debug description: runMe(){}
// CHECK JS_IR NATIVE:
// Mangled name: #main(){}
// Public signature: /main|-4284757841571462650[0]
// Public signature debug description: main(){}
fun main(): Unit
// Mangled name: #runMe(){}
// Public signature: /runMe|1754039929145531074[0]
// Public signature debug description: runMe(){}
fun runMe(): Unit
@@ -1,22 +1,22 @@
FILE fqName:<root> fileName:/localCompanion.kt
FUN name:main visibility:public modality:FINAL <> () returnType:kotlin.Unit
FUN name:runMe visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
CLASS CLASS name:Foo modality:FINAL visibility:local superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.main.Foo
CONSTRUCTOR visibility:public <> () returnType:<root>.main.Foo [primary]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.runMe.Foo
CONSTRUCTOR visibility:public <> () returnType:<root>.runMe.Foo [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Foo modality:FINAL visibility:local superTypes:[kotlin.Any]'
CLASS OBJECT name:Companion modality:FINAL visibility:local [companion] superTypes:[kotlin.Any]
annotations:
Suppress(names = ["WRONG_MODIFIER_CONTAINING_DECLARATION"])
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.main.Foo.Companion
CONSTRUCTOR visibility:private <> () returnType:<root>.main.Foo.Companion [primary]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.runMe.Foo.Companion
CONSTRUCTOR visibility:private <> () returnType:<root>.runMe.Foo.Companion [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:local [companion] superTypes:[kotlin.Any]'
FUN name:bar visibility:public modality:FINAL <> ($this:<root>.main.Foo.Companion) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.main.Foo.Companion
FUN name:bar visibility:public modality:FINAL <> ($this:<root>.runMe.Foo.Companion) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.runMe.Foo.Companion
BLOCK_BODY
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
@@ -44,5 +44,5 @@ FILE fqName:<root> fileName:/localCompanion.kt
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CALL 'public final fun bar (): kotlin.Unit declared in <root>.main.Foo.Companion' type=kotlin.Unit origin=null
$this: GET_OBJECT 'CLASS OBJECT name:Companion modality:FINAL visibility:local [companion] superTypes:[kotlin.Any]' type=<root>.main.Foo.Companion
CALL 'public final fun bar (): kotlin.Unit declared in <root>.runMe.Foo.Companion' type=kotlin.Unit origin=null
$this: GET_OBJECT 'CLASS OBJECT name:Companion modality:FINAL visibility:local [companion] superTypes:[kotlin.Any]' type=<root>.runMe.Foo.Companion
+1 -4
View File
@@ -1,9 +1,6 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR
// ^ KT-57755: Fix computing a mangled name for the `main` function
fun main() {
fun runMe() {
class Foo {
@Suppress("WRONG_MODIFIER_CONTAINING_DECLARATION")
companion object {
@@ -1,4 +1,4 @@
fun main() {
fun runMe() {
local class Foo {
constructor() /* primary */ {
super/*Any*/()
@@ -1,14 +1,10 @@
// CHECK JVM_IR:
// Mangled name: #main(){}
// Mangled name for the signature computed from Ir: main(){}
// Mangled name for the signature computed from Descriptor: main(){}%localCompanion.kt
// Public signature by IR: /main|-4284757841571462650[0]
// Public signature by IR debug description: main(){}
// Public signature by Frontend: /main|1798078925369608927[0]
// Public signature by Frontend debug description: main(){}%localCompanion.kt
// Mangled name: #runMe(){}
// Public signature: /runMe|1754039929145531074[0]
// Public signature debug description: runMe(){}
// CHECK JS_IR NATIVE:
// Mangled name: #main(){}
// Public signature: /main|-4284757841571462650[0]
// Public signature debug description: main(){}
fun main(): Unit
// Mangled name: #runMe(){}
// Public signature: /runMe|1754039929145531074[0]
// Public signature debug description: runMe(){}
fun runMe(): Unit
+1 -1
View File
@@ -17,7 +17,7 @@ FILE fqName:<root> fileName:/definitelyNonNull.kt
BRANCH
if: CONST Boolean type=kotlin.Boolean value=true
then: GET_VAR 'val tmp_0: T of <root>.elvisLike declared in <root>.elvisLike' type=T of <root>.elvisLike origin=null
FUN name:main visibility:public modality:FINAL <> () returnType:kotlin.Unit
FUN name:runMe visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public open fun <get-length> (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GET_PROPERTY
+1 -4
View File
@@ -1,12 +1,9 @@
// FIR_IDENTICAL
//!LANGUAGE: +DefinitelyNonNullableTypes
// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR
// ^ KT-57755: Fix computing a mangled name for the `main` function
fun <T> elvisLike(x: T, y: T & Any): T & Any = x ?: y
fun main() {
fun runMe() {
elvisLike<String>("", "").length // OK
elvisLike<String?>(null, "").length // OK
+1 -1
View File
@@ -8,7 +8,7 @@ fun <T : Any?> elvisLike(x: T, y: (T & Any)): (T & Any) {
}
}
fun main() {
fun runMe() {
elvisLike<String>(x = "", y = "").<get-length>() /*~> Unit */
elvisLike<String?>(x = null, y = "").<get-length>() /*~> Unit */
elvisLike<String>(x = "", y = "").<get-length>() /*~> Unit */
@@ -9,16 +9,12 @@
fun <T : Any?> elvisLike(x: T, y: (T & Any)): (T & Any)
// CHECK JVM_IR:
// Mangled name: #main(){}
// Mangled name for the signature computed from Ir: main(){}
// Mangled name for the signature computed from Descriptor: main(){}%definitelyNonNull.kt
// Public signature by IR: /main|-4284757841571462650[0]
// Public signature by IR debug description: main(){}
// Public signature by Frontend: /main|536315142565162436[0]
// Public signature by Frontend debug description: main(){}%definitelyNonNull.kt
// Mangled name: #runMe(){}
// Public signature: /runMe|1754039929145531074[0]
// Public signature debug description: runMe(){}
// CHECK JS_IR NATIVE:
// Mangled name: #main(){}
// Public signature: /main|-4284757841571462650[0]
// Public signature debug description: main(){}
fun main(): Unit
// Mangled name: #runMe(){}
// Public signature: /runMe|1754039929145531074[0]
// Public signature debug description: runMe(){}
fun runMe(): Unit
@@ -45,7 +45,7 @@ FILE fqName:<root> fileName:/dontLeaveStubTypesInSetter.kt
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun foo <K> (x: kotlin.collections.MutableList<K of <root>.foo>): <root>.Foo<K of <root>.foo> declared in <root>'
CALL 'public final fun TODO (): kotlin.Nothing declared in kotlin' type=kotlin.Nothing origin=null
FUN name:main visibility:public modality:FINAL <> () returnType:kotlin.Unit
FUN name:runMe visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
VAR name:x type:kotlin.collections.List<kotlin.String> [val]
CALL 'public final fun buildList <E> (builderAction: @[ExtensionFunctionType] kotlin.Function1<kotlin.collections.MutableList<E of kotlin.collections.buildList>, kotlin.Unit>): kotlin.collections.List<E of kotlin.collections.buildList> declared in kotlin.collections' type=kotlin.collections.List<kotlin.String> origin=null
@@ -56,12 +56,12 @@ FILE fqName:<root> fileName:/dontLeaveStubTypesInSetter.kt
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public abstract fun add (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList' type=kotlin.Boolean origin=null
$this: GET_VAR '$this$buildList: kotlin.collections.MutableList<kotlin.String> declared in <root>.main.<anonymous>' type=kotlin.collections.MutableList<kotlin.String> origin=null
$this: GET_VAR '$this$buildList: kotlin.collections.MutableList<kotlin.String> declared in <root>.runMe.<anonymous>' type=kotlin.collections.MutableList<kotlin.String> origin=null
element: CONST String type=kotlin.String value=""
VAR name:foo type:<root>.Foo<kotlin.String> [val]
CALL 'public final fun foo <K> (x: kotlin.collections.MutableList<K of <root>.foo>): <root>.Foo<K of <root>.foo> declared in <root>' type=<root>.Foo<kotlin.String> origin=null
<K>: kotlin.String
x: GET_VAR '$this$buildList: kotlin.collections.MutableList<kotlin.String> declared in <root>.main.<anonymous>' type=kotlin.collections.MutableList<kotlin.String> origin=null
x: GET_VAR '$this$buildList: kotlin.collections.MutableList<kotlin.String> declared in <root>.runMe.<anonymous>' type=kotlin.collections.MutableList<kotlin.String> origin=null
CALL 'public final fun <set-x> (<set-?>: T of <root>.Foo): kotlin.Unit declared in <root>.Foo' type=kotlin.Unit origin=EQ
$this: GET_VAR 'val foo: <root>.Foo<kotlin.String> declared in <root>.main.<anonymous>' type=<root>.Foo<kotlin.String> origin=null
$this: GET_VAR 'val foo: <root>.Foo<kotlin.String> declared in <root>.runMe.<anonymous>' type=<root>.Foo<kotlin.String> origin=null
<set-?>: CONST String type=kotlin.String value=""
@@ -1,14 +1,11 @@
// FIR_IDENTICAL
// WITH_STDLIB
// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR
// ^KT-57755: Fix computing a mangled name for the `main` function
class Foo<T>(var x: T)
fun <K> foo(x: MutableList<K>): Foo<K> = TODO()
fun main() {
fun runMe() {
val x = buildList {
add("")
val foo = foo(this)
@@ -16,7 +16,7 @@ fun <K : Any?> foo(x: MutableList<K>): Foo<K> {
return TODO()
}
fun main() {
fun runMe() {
val x: List<String> = buildList<String>(builderAction = local fun MutableList<String>.<anonymous>() {
$this$buildList.add(element = "") /*~> Unit */
val foo: Foo<String> = foo<String>(x = $this$buildList)
@@ -41,16 +41,12 @@ class Foo<T : Any?> {
fun <K : Any?> foo(x: MutableList<K>): Foo<K>
// CHECK JVM_IR:
// Mangled name: #main(){}
// Mangled name for the signature computed from Ir: main(){}
// Mangled name for the signature computed from Descriptor: main(){}%dontLeaveStubTypesInSetter.kt
// Public signature by IR: /main|-4284757841571462650[0]
// Public signature by IR debug description: main(){}
// Public signature by Frontend: /main|-2535684763027974809[0]
// Public signature by Frontend debug description: main(){}%dontLeaveStubTypesInSetter.kt
// Mangled name: #runMe(){}
// Public signature: /runMe|1754039929145531074[0]
// Public signature debug description: runMe(){}
// CHECK JS_IR NATIVE:
// Mangled name: #main(){}
// Public signature: /main|-4284757841571462650[0]
// Public signature debug description: main(){}
fun main(): Unit
// Mangled name: #runMe(){}
// Public signature: /runMe|1754039929145531074[0]
// Public signature debug description: runMe(){}
fun runMe(): Unit