[FIR] Support assignment operators

This commit is contained in:
Dmitriy Novozhilov
2019-10-28 16:10:10 +03:00
parent 6298889358
commit b93357be48
26 changed files with 354 additions and 68 deletions
@@ -14,5 +14,6 @@ FILE fqName:<root> fileName:/localDelegatedProperties.kt
SET_VAR 'var x: IrErrorType [var] declared in <root>.test2' type=IrErrorType origin=null
ERROR_CALL 'Unresolved reference: <Ambiguity: inc, [kotlin/inc, kotlin/inc]>#' type=IrErrorType
GET_VAR 'val <unary>: IrErrorType [val] declared in <root>.test2' type=IrErrorType origin=null
SET_VAR 'var x: IrErrorType [var] declared in <root>.test2' type=IrErrorType origin=null
CONST Int type=IrErrorType value=1
CALL 'public final fun plusAssign (element: T of <uninitialized parent>): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null
$receiver: GET_VAR 'var x: IrErrorType [var] declared in <root>.test2' type=IrErrorType origin=null
element: CONST Int type=kotlin.Int value=1
@@ -19,24 +19,44 @@ FILE fqName:<root> fileName:/augmentedAssignment1.kt
VAR name:x type:kotlin.Int [var]
CONST Int type=kotlin.Int value=0
SET_VAR 'var x: kotlin.Int [var] declared in <root>.testVariable' type=kotlin.Int origin=null
CONST Int type=kotlin.Int value=1
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'var x: kotlin.Int [var] declared in <root>.testVariable' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=1
SET_VAR 'var x: kotlin.Int [var] declared in <root>.testVariable' type=kotlin.Int origin=null
CONST Int type=kotlin.Int value=2
CALL 'public final fun minus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'var x: kotlin.Int [var] declared in <root>.testVariable' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=2
SET_VAR 'var x: kotlin.Int [var] declared in <root>.testVariable' type=kotlin.Int origin=null
CONST Int type=kotlin.Int value=3
CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'var x: kotlin.Int [var] declared in <root>.testVariable' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=3
SET_VAR 'var x: kotlin.Int [var] declared in <root>.testVariable' type=kotlin.Int origin=null
CONST Int type=kotlin.Int value=4
CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'var x: kotlin.Int [var] declared in <root>.testVariable' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=4
SET_VAR 'var x: kotlin.Int [var] declared in <root>.testVariable' type=kotlin.Int origin=null
CONST Int type=kotlin.Int value=5
CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'var x: kotlin.Int [var] declared in <root>.testVariable' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=5
FUN name:testProperty visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:private [static]' type=kotlin.Unit origin=null
value: CONST Int type=kotlin.Int value=1
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-p> (): kotlin.Int declared in <root>' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=1
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:private [static]' type=kotlin.Unit origin=null
value: CONST Int type=kotlin.Int value=2
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-p> (): kotlin.Int declared in <root>' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=2
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:private [static]' type=kotlin.Unit origin=null
value: CONST Int type=kotlin.Int value=3
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-p> (): kotlin.Int declared in <root>' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=3
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:private [static]' type=kotlin.Unit origin=null
value: CONST Int type=kotlin.Int value=4
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-p> (): kotlin.Int declared in <root>' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=4
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:private [static]' type=kotlin.Unit origin=null
value: CONST Int type=kotlin.Int value=5
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-p> (): kotlin.Int declared in <root>' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=5
@@ -51,25 +51,35 @@ FILE fqName:<root> fileName:/augmentedAssignment2.kt
BLOCK_BODY
VAR name:a type:<root>.A [val]
CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.A' type=<root>.A origin=null
SET_VAR 'val a: <root>.A [val] declared in <root>.testVariable' type=<root>.A origin=null
CONST String type=<root>.A value="+="
SET_VAR 'val a: <root>.A [val] declared in <root>.testVariable' type=<root>.A origin=null
CONST String type=<root>.A value="-="
SET_VAR 'val a: <root>.A [val] declared in <root>.testVariable' type=<root>.A origin=null
CONST String type=<root>.A value="*="
SET_VAR 'val a: <root>.A [val] declared in <root>.testVariable' type=<root>.A origin=null
CONST String type=<root>.A value="/="
SET_VAR 'val a: <root>.A [val] declared in <root>.testVariable' type=<root>.A origin=null
CONST String type=<root>.A value="*="
CALL 'public final fun plusAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: GET_VAR 'val a: <root>.A [val] declared in <root>.testVariable' type=<root>.A origin=null
s: CONST String type=kotlin.String value="+="
CALL 'public final fun minusAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: GET_VAR 'val a: <root>.A [val] declared in <root>.testVariable' type=<root>.A origin=null
s: CONST String type=kotlin.String value="-="
CALL 'public final fun timesAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: GET_VAR 'val a: <root>.A [val] declared in <root>.testVariable' type=<root>.A origin=null
s: CONST String type=kotlin.String value="*="
CALL 'public final fun divAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: GET_VAR 'val a: <root>.A [val] declared in <root>.testVariable' type=<root>.A origin=null
s: CONST String type=kotlin.String value="/="
CALL 'public final fun remAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: GET_VAR 'val a: <root>.A [val] declared in <root>.testVariable' type=<root>.A origin=null
s: CONST String type=kotlin.String value="*="
FUN name:testProperty visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:<root>.A visibility:private [final,static]' type=kotlin.Unit origin=null
value: CONST String type=<root>.A value="+="
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:<root>.A visibility:private [final,static]' type=kotlin.Unit origin=null
value: CONST String type=<root>.A value="-="
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:<root>.A visibility:private [final,static]' type=kotlin.Unit origin=null
value: CONST String type=<root>.A value="*="
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:<root>.A visibility:private [final,static]' type=kotlin.Unit origin=null
value: CONST String type=<root>.A value="/="
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:<root>.A visibility:private [final,static]' type=kotlin.Unit origin=null
value: CONST String type=<root>.A value="%="
CALL 'public final fun plusAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: CALL 'public final fun <get-p> (): <root>.A declared in <root>' type=<root>.A origin=null
s: CONST String type=kotlin.String value="+="
CALL 'public final fun minusAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: CALL 'public final fun <get-p> (): <root>.A declared in <root>' type=<root>.A origin=null
s: CONST String type=kotlin.String value="-="
CALL 'public final fun timesAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: CALL 'public final fun <get-p> (): <root>.A declared in <root>' type=<root>.A origin=null
s: CONST String type=kotlin.String value="*="
CALL 'public final fun divAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: CALL 'public final fun <get-p> (): <root>.A declared in <root>' type=<root>.A origin=null
s: CONST String type=kotlin.String value="/="
CALL 'public final fun remAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: CALL 'public final fun <get-p> (): <root>.A declared in <root>' type=<root>.A origin=null
s: CONST String type=kotlin.String value="%="
@@ -12,7 +12,9 @@ FILE fqName:<root> fileName:/augmentedAssignmentWithExpression.kt
FUN name:test1 visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.Host
BLOCK_BODY
ERROR_CALL 'Unresolved reference: this#' type=IrErrorType
CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in <root>.Host' type=kotlin.Unit origin=null
$this: GET_VAR '<this>: <root>.Host declared in <root>.Host' type=<root>.Host origin=null
x: CONST Int type=kotlin.Int value=1
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
@@ -33,7 +35,9 @@ FILE fqName:<root> fileName:/augmentedAssignmentWithExpression.kt
FUN name:test2 visibility:public modality:FINAL <> ($receiver:<root>.Host) returnType:kotlin.Unit
$receiver: VALUE_PARAMETER name:<this> type:<root>.Host
BLOCK_BODY
ERROR_CALL 'Unresolved reference: this#' type=IrErrorType
CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in <root>.Host' type=kotlin.Unit origin=null
$this: GET_VAR '<this>: <root>.Host declared in <root>.test2' type=<root>.Host origin=null
x: CONST Int type=kotlin.Int value=1
FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
VAR name:<complex-set> type:<root>.Host [val]
@@ -122,9 +122,11 @@ FILE fqName:<root> fileName:/breakContinueInWhen.kt
arg1: CONST Int type=kotlin.Int value=2
then: CONTINUE label=null loop.label=null
SET_VAR 'var s: kotlin.String [var] declared in <root>.testContinueDoWhile' type=kotlin.String origin=null
STRING_CONCATENATION type=kotlin.String
GET_VAR 'var k: kotlin.Int [var] declared in <root>.testContinueDoWhile' type=kotlin.Int origin=null
CONST String type=kotlin.String value=";"
CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
$this: GET_VAR 'var s: kotlin.String [var] declared in <root>.testContinueDoWhile' type=kotlin.String origin=null
other: STRING_CONCATENATION type=kotlin.String
GET_VAR 'var k: kotlin.Int [var] declared in <root>.testContinueDoWhile' type=kotlin.Int origin=null
CONST String type=kotlin.String value=";"
condition: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT
arg0: GET_VAR 'var k: kotlin.Int [var] declared in <root>.testContinueDoWhile' type=kotlin.Int origin=null
arg1: CONST Int type=kotlin.Int value=10
@@ -219,9 +219,11 @@ FILE fqName:<root> fileName:/complexAugmentedAssignment.kt
VALUE_PARAMETER name:b index:0 type:<root>.B
BLOCK_BODY
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
receiver: GET_VAR '<this>: <root>.B declared in <root>.Host.plusAssign' type=<root>.B origin=null
value: CALL 'public final fun <get-s> (): kotlin.Int declared in <root>.B' type=kotlin.Int origin=null
$this: GET_VAR 'b: <root>.B declared in <root>.Host.plusAssign' type=<root>.B 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-s> (): kotlin.Int declared in <root>.B' type=kotlin.Int origin=null
$this: GET_VAR '<this>: <root>.B declared in <root>.Host.plusAssign' type=<root>.B origin=null
other: CALL 'public final fun <get-s> (): kotlin.Int declared in <root>.B' type=kotlin.Int origin=null
$this: GET_VAR 'b: <root>.B declared in <root>.Host.plusAssign' type=<root>.B origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
@@ -239,4 +241,7 @@ FILE fqName:<root> fileName:/complexAugmentedAssignment.kt
$receiver: VALUE_PARAMETER name:<this> type:<root>.Host
VALUE_PARAMETER name:v index:0 type:<root>.B
BLOCK_BODY
ERROR_CALL 'Unresolved reference: R|<local>/v|' type=IrErrorType
CALL 'public final fun plusAssign (b: <root>.B): kotlin.Unit declared in <root>.Host' type=kotlin.Unit origin=null
$this: GET_VAR '<this>: <root>.Host declared in <root>.Host' type=<root>.Host origin=null
b: CONSTRUCTOR_CALL 'public constructor <init> (s: kotlin.Int) [primary] declared in <root>.B' type=<root>.B origin=null
s: CONST Int type=kotlin.Int value=1000
+3 -1
View File
@@ -28,4 +28,6 @@ FILE fqName:<root> fileName:/field.kt
VALUE_PARAMETER name:value index:0 type:kotlin.Int
BLOCK_BODY
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testAugmented type:kotlin.Int visibility:private [static]' type=kotlin.Unit origin=null
value: GET_VAR 'value: kotlin.Int declared in <root>.<set-testAugmented>' 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: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testAugmented type:kotlin.Int visibility:private [static]' type=kotlin.Int origin=GET_PROPERTY
other: GET_VAR 'value: kotlin.Int declared in <root>.<set-testAugmented>' type=kotlin.Int origin=null
+8 -5
View File
@@ -75,12 +75,15 @@ FILE fqName:<root> fileName:/kt16904.kt
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test1
CONSTRUCTOR visibility:public <> () returnType:<root>.Test1
BLOCK_BODY
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:<root>.B visibility:private [final]' type=kotlin.Unit origin=null
receiver: GET_VAR '<this>: <root>.A declared in <root>.A' type=<root>.A origin=null
value: CONST Int type=<root>.B value=42
CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in <root>.B' type=kotlin.Unit origin=null
$this: CALL 'public final fun <get-x> (): <root>.B declared in <root>.A' type=<root>.B origin=null
$this: GET_VAR '<this>: <root>.A declared in <root>.A' type=<root>.A origin=null
x: CONST Int type=kotlin.Int value=42
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
receiver: GET_VAR '<this>: <root>.A declared in <root>.A' type=<root>.A origin=null
value: CONST Int type=kotlin.Int value=42
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-y> (): kotlin.Int declared in <root>.A' type=kotlin.Int origin=null
$this: GET_VAR '<this>: <root>.A declared in <root>.A' type=<root>.A origin=null
other: CONST Int type=kotlin.Int value=42
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[<root>.A]'
PROPERTY FAKE_OVERRIDE name:x visibility:public modality:FINAL [val]
+3 -1
View File
@@ -12,7 +12,9 @@ FILE fqName:<root> fileName:/kt24804.kt
DO_WHILE label=l2 origin=DO_WHILE_LOOP
body: BLOCK type=kotlin.Unit origin=null
SET_VAR 'var z: kotlin.Int [var] declared in <root>.run' type=kotlin.Int origin=null
CONST Int type=kotlin.Int value=1
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'var z: kotlin.Int [var] declared in <root>.run' type=kotlin.Int origin=null
other: CONST Int type=kotlin.Int value=1
WHEN type=kotlin.Unit origin=IF
BRANCH
if: CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT
+6 -2
View File
@@ -14,7 +14,9 @@ FILE fqName:<root> fileName:/kt27933.kt
if: CONST Boolean type=kotlin.Boolean value=true
then: BLOCK type=kotlin.Unit origin=null
SET_VAR 'var r: kotlin.String [var] declared in <root>.box' type=kotlin.String origin=null
CONST String type=kotlin.String value="O"
CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
$this: GET_VAR 'var r: kotlin.String [var] declared in <root>.box' type=kotlin.String origin=null
other: CONST String type=kotlin.String value="O"
WHEN type=kotlin.Unit origin=IF
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
@@ -22,6 +24,8 @@ FILE fqName:<root> fileName:/kt27933.kt
arg1: CONST String type=kotlin.String value="O"
then: BLOCK type=kotlin.Unit origin=null
SET_VAR 'var r: kotlin.String [var] declared in <root>.box' type=kotlin.String origin=null
CONST String type=kotlin.String value="K"
CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
$this: GET_VAR 'var r: kotlin.String [var] declared in <root>.box' type=kotlin.String origin=null
other: CONST String type=kotlin.String value="K"
RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
GET_VAR 'var r: kotlin.String [var] declared in <root>.box' type=kotlin.String origin=null
+7 -4
View File
@@ -24,7 +24,10 @@ FILE fqName:<root> fileName:/kt30020.kt
VALUE_PARAMETER name:x index:0 type:<root>.X
VALUE_PARAMETER name:nx index:1 type:<root>.X?
BLOCK_BODY
ERROR_CALL 'Unresolved reference: R|/X.xs|' type=IrErrorType
CALL 'public final fun plusAssign (element: T of <uninitialized parent>): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null
$receiver: CALL 'public abstract fun <get-xs> (): kotlin.collections.MutableList<kotlin.Any> declared in <root>.X' type=kotlin.collections.MutableList<kotlin.Any> origin=null
$this: GET_VAR 'x: <root>.X declared in <root>.test' type=<root>.X origin=null
element: CONST Int type=kotlin.Int value=1
VAR name:<complex-set> type:kotlin.collections.MutableList<kotlin.Any> [val]
CALL 'public abstract fun f (): kotlin.collections.MutableList<kotlin.Any> declared in <root>.X' type=kotlin.collections.MutableList<kotlin.Any> origin=null
$this: GET_VAR 'x: <root>.X declared in <root>.test' type=<root>.X origin=null
@@ -79,7 +82,7 @@ FILE fqName:<root> fileName:/kt30020.kt
FUN name:testExtensionReceiver visibility:public modality:FINAL <> ($receiver:kotlin.collections.MutableList<kotlin.Any>) returnType:kotlin.Unit
$receiver: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList<kotlin.Any>
BLOCK_BODY
ERROR_CALL 'Unresolved reference: this#' type=IrErrorType
ERROR_EXPR 'Operator overload ambiguity. plusAssign and plus are compatible' type=IrErrorType
CLASS CLASS name:AML modality:ABSTRACT visibility:public superTypes:[kotlin.collections.MutableList<kotlin.Int>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.AML
CONSTRUCTOR visibility:public <> () returnType:<root>.AML [primary]
@@ -89,7 +92,7 @@ FILE fqName:<root> fileName:/kt30020.kt
FUN name:testExplicitThis visibility:public modality:FINAL <> ($this:<root>.AML) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.AML
BLOCK_BODY
ERROR_CALL 'Unresolved reference: this#' type=IrErrorType
ERROR_EXPR 'Operator overload ambiguity. plusAssign and plus are compatible' type=IrErrorType
CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.AML.Inner
CONSTRUCTOR visibility:public <> () returnType:<root>.AML.Inner [primary]
@@ -99,7 +102,7 @@ FILE fqName:<root> fileName:/kt30020.kt
FUN name:testOuterThis visibility:public modality:FINAL <> ($this:<root>.AML.Inner) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.AML.Inner
BLOCK_BODY
ERROR_CALL 'Unresolved reference: this@AML#' type=IrErrorType
ERROR_EXPR 'Operator overload ambiguity. plusAssign and plus are compatible' type=IrErrorType
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
@@ -17,7 +17,12 @@ FILE fqName:<root> fileName:/lambdaInCAO.kt
FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit
VALUE_PARAMETER name:a index:0 type:kotlin.Any
BLOCK_BODY
ERROR_CALL 'Unresolved reference: R|<local>/a|' type=IrErrorType
CALL 'public final fun plusAssign (lambda: kotlin.Function0<kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: GET_VAR 'a: kotlin.Any declared in <root>.test1' type=kotlin.Any origin=null
lambda: 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
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit
VALUE_PARAMETER name:a index:0 type:kotlin.Any
BLOCK_BODY
@@ -26,5 +26,9 @@ FILE fqName:<root> fileName:/samOperators.kt
FUN name:test3 visibility:public modality:FINAL <> ($receiver:<root>.J) returnType:kotlin.Unit
$receiver: VALUE_PARAMETER name:<this> type:<root>.J
BLOCK_BODY
ERROR_CALL 'Unresolved reference: this#' type=IrErrorType
ERROR_CALL 'Unresolved reference: this#' type=IrErrorType
CALL 'public open fun plusAssign (i: java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
$this: GET_VAR '<this>: <root>.J declared in <root>.test3' type=<root>.J origin=null
i: ERROR_CALL 'Unsupported callable reference: ::<Unresolved name: f>#' type=IrErrorType
CALL 'public open fun minusAssign (i: java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
$this: GET_VAR '<this>: <root>.J declared in <root>.test3' type=<root>.J origin=null
i: ERROR_CALL 'Unsupported callable reference: ::<Unresolved name: f>#' type=IrErrorType