FIR2IR: add extension receiver parameters to functions

This commit is contained in:
Mikhail Glukhikh
2019-07-17 15:21:34 +03:00
parent be3fe9495c
commit 63b7fa70f9
63 changed files with 393 additions and 158 deletions
+4 -2
View File
@@ -82,8 +82,9 @@ FILE fqName:<root> fileName:/classMembers.kt
BLOCK_BODY
CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null
message: CONST String type=kotlin.String value="1"
FUN name:memberExtensionFunction visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Unit
FUN name:memberExtensionFunction visibility:public modality:FINAL <> ($this:<root>.C, $receiver:kotlin.Int) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.C
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Int
BLOCK_BODY
CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null
message: CONST String type=kotlin.String value="2"
@@ -98,8 +99,9 @@ FILE fqName:<root> fileName:/classMembers.kt
BLOCK_BODY
CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null
message: CONST String type=kotlin.String value="3"
FUN name:memberExtensionFunction visibility:public modality:FINAL <> ($this:<root>.C.NestedClass) returnType:kotlin.Unit
FUN name:memberExtensionFunction visibility:public modality:FINAL <> ($this:<root>.C.NestedClass, $receiver:kotlin.Int) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.C.NestedClass
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Int
BLOCK_BODY
CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null
message: CONST String type=kotlin.String value="4"
@@ -7,9 +7,10 @@ FILE fqName:<root> fileName:/delegatedImplementation.kt
VALUE_PARAMETER name:s index:1 type:kotlin.String
FUN name:bar visibility:public modality:ABSTRACT <> ($this:<root>.IBase) returnType:kotlin.Int
$this: VALUE_PARAMETER name:<this> type:<root>.IBase
FUN name:qux visibility:public modality:ABSTRACT <> ($this:<root>.IBase) returnType:kotlin.Unit
FUN name:qux visibility:public modality:ABSTRACT <> ($this:<root>.IBase, $receiver:kotlin.String) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.IBase
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
@@ -38,8 +39,9 @@ FILE fqName:<root> fileName:/delegatedImplementation.kt
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun bar (): kotlin.Int declared in <root>.BaseImpl'
CONST Int type=kotlin.Int value=42
FUN name:qux visibility:public modality:FINAL <> ($this:<root>.BaseImpl) returnType:kotlin.Unit
FUN name:qux visibility:public modality:FINAL <> ($this:<root>.BaseImpl, $receiver:kotlin.String) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.BaseImpl
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
BLOCK_BODY
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
overridden:
@@ -112,7 +112,8 @@ FILE fqName:<root> fileName:/objectLiteralExpressions.kt
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:test4 visibility:public modality:FINAL <> () returnType:<root>.Outer.Inner
FUN name:test4 visibility:public modality:FINAL <> ($receiver:<root>.Outer) returnType:<root>.Outer.Inner
$receiver: VALUE_PARAMETER name:<this> type:<root>.Outer
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test4 (): <root>.Outer.Inner declared in <root>'
BLOCK type=<root>.test4.<no name provided> origin=OBJECT_LITERAL
@@ -29,8 +29,9 @@ FILE fqName:<root> fileName:/outerClassAccess.kt
BLOCK_BODY
CALL 'public final fun test (): kotlin.Unit declared in <root>.Outer.Inner' type=kotlin.Unit origin=null
CALL 'public final fun foo (): kotlin.Unit declared in <root>.Outer' type=kotlin.Unit origin=null
FUN name:test3 visibility:public modality:FINAL <> ($this:<root>.Outer.Inner.Inner2) returnType:kotlin.Unit
FUN name:test3 visibility:public modality:FINAL <> ($this:<root>.Outer.Inner.Inner2, $receiver:<root>.Outer) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.Outer.Inner.Inner2
$receiver: VALUE_PARAMETER name:<this> type:<root>.Outer
BLOCK_BODY
CALL 'public final fun foo (): kotlin.Unit declared in <root>.Outer' type=kotlin.Unit origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean