FIR2IR: remove redundant receiver generation from visitor

Now static functions have no dispatch receiver: they really shouldn't.
This commit is contained in:
Mikhail Glukhikh
2020-03-04 13:42:32 +03:00
parent 9788a7cfbc
commit fe658ce47f
16 changed files with 58 additions and 140 deletions
+14 -28
View File
@@ -9,11 +9,9 @@ FILE fqName:<root> fileName:/enumClassModality.kt
ENUM_ENTRY name:X1
init: EXPRESSION_BODY
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.TestFinalEnum1'
FUN name:values visibility:public modality:FINAL <> ($this:<root>.TestFinalEnum1) returnType:kotlin.Array<<root>.TestFinalEnum1>
$this: VALUE_PARAMETER name:<this> type:<root>.TestFinalEnum1
FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.TestFinalEnum1>
BLOCK_BODY
FUN name:valueOf visibility:public modality:FINAL <> ($this:<root>.TestFinalEnum1, value:kotlin.String) returnType:<root>.TestFinalEnum1
$this: VALUE_PARAMETER name:<this> type:<root>.TestFinalEnum1
FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.TestFinalEnum1
VALUE_PARAMETER name:value index:0 type:kotlin.String
BLOCK_BODY
FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.Any [fake_override]
@@ -79,11 +77,9 @@ FILE fqName:<root> fileName:/enumClassModality.kt
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestFinalEnum2'
x: CONST Int type=kotlin.Int value=1
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestFinalEnum2]'
FUN name:values visibility:public modality:FINAL <> ($this:<root>.TestFinalEnum2) returnType:kotlin.Array<<root>.TestFinalEnum2>
$this: VALUE_PARAMETER name:<this> type:<root>.TestFinalEnum2
FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.TestFinalEnum2>
BLOCK_BODY
FUN name:valueOf visibility:public modality:FINAL <> ($this:<root>.TestFinalEnum2, value:kotlin.String) returnType:<root>.TestFinalEnum2
$this: VALUE_PARAMETER name:<this> type:<root>.TestFinalEnum2
FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.TestFinalEnum2
VALUE_PARAMETER name:value index:0 type:kotlin.String
BLOCK_BODY
FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.Any [fake_override]
@@ -133,11 +129,9 @@ FILE fqName:<root> fileName:/enumClassModality.kt
FUN name:doStuff visibility:public modality:FINAL <> ($this:<root>.TestFinalEnum3) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.TestFinalEnum3
BLOCK_BODY
FUN name:values visibility:public modality:FINAL <> ($this:<root>.TestFinalEnum3) returnType:kotlin.Array<<root>.TestFinalEnum3>
$this: VALUE_PARAMETER name:<this> type:<root>.TestFinalEnum3
FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.TestFinalEnum3>
BLOCK_BODY
FUN name:valueOf visibility:public modality:FINAL <> ($this:<root>.TestFinalEnum3, value:kotlin.String) returnType:<root>.TestFinalEnum3
$this: VALUE_PARAMETER name:<this> type:<root>.TestFinalEnum3
FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.TestFinalEnum3
VALUE_PARAMETER name:value index:0 type:kotlin.String
BLOCK_BODY
FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.Any [fake_override]
@@ -195,11 +189,9 @@ FILE fqName:<root> fileName:/enumClassModality.kt
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun toString (): kotlin.String declared in <root>.TestOpenEnum1.X1'
CONST String type=kotlin.String value="X1"
FUN name:values visibility:public modality:FINAL <> ($this:<root>.TestOpenEnum1) returnType:kotlin.Array<<root>.TestOpenEnum1>
$this: VALUE_PARAMETER name:<this> type:<root>.TestOpenEnum1
FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.TestOpenEnum1>
BLOCK_BODY
FUN name:valueOf visibility:public modality:FINAL <> ($this:<root>.TestOpenEnum1, value:kotlin.String) returnType:<root>.TestOpenEnum1
$this: VALUE_PARAMETER name:<this> type:<root>.TestOpenEnum1
FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.TestOpenEnum1
VALUE_PARAMETER name:value index:0 type:kotlin.String
BLOCK_BODY
FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.Any [fake_override]
@@ -258,11 +250,9 @@ FILE fqName:<root> fileName:/enumClassModality.kt
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.TestOpenEnum2) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.TestOpenEnum2
BLOCK_BODY
FUN name:values visibility:public modality:FINAL <> ($this:<root>.TestOpenEnum2) returnType:kotlin.Array<<root>.TestOpenEnum2>
$this: VALUE_PARAMETER name:<this> type:<root>.TestOpenEnum2
FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.TestOpenEnum2>
BLOCK_BODY
FUN name:valueOf visibility:public modality:FINAL <> ($this:<root>.TestOpenEnum2, value:kotlin.String) returnType:<root>.TestOpenEnum2
$this: VALUE_PARAMETER name:<this> type:<root>.TestOpenEnum2
FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.TestOpenEnum2
VALUE_PARAMETER name:value index:0 type:kotlin.String
BLOCK_BODY
FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.Any [fake_override]
@@ -320,11 +310,9 @@ FILE fqName:<root> fileName:/enumClassModality.kt
BLOCK_BODY
FUN name:foo visibility:public modality:ABSTRACT <> ($this:<root>.TestAbstractEnum1) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.TestAbstractEnum1
FUN name:values visibility:public modality:FINAL <> ($this:<root>.TestAbstractEnum1) returnType:kotlin.Array<<root>.TestAbstractEnum1>
$this: VALUE_PARAMETER name:<this> type:<root>.TestAbstractEnum1
FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.TestAbstractEnum1>
BLOCK_BODY
FUN name:valueOf visibility:public modality:FINAL <> ($this:<root>.TestAbstractEnum1, value:kotlin.String) returnType:<root>.TestAbstractEnum1
$this: VALUE_PARAMETER name:<this> type:<root>.TestAbstractEnum1
FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.TestAbstractEnum1
VALUE_PARAMETER name:value index:0 type:kotlin.String
BLOCK_BODY
FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.Any [fake_override]
@@ -397,11 +385,9 @@ FILE fqName:<root> fileName:/enumClassModality.kt
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.TestAbstractEnum2.X1) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.TestAbstractEnum2.X1
BLOCK_BODY
FUN name:values visibility:public modality:FINAL <> ($this:<root>.TestAbstractEnum2) returnType:kotlin.Array<<root>.TestAbstractEnum2>
$this: VALUE_PARAMETER name:<this> type:<root>.TestAbstractEnum2
FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.TestAbstractEnum2>
BLOCK_BODY
FUN name:valueOf visibility:public modality:FINAL <> ($this:<root>.TestAbstractEnum2, value:kotlin.String) returnType:<root>.TestAbstractEnum2
$this: VALUE_PARAMETER name:<this> type:<root>.TestAbstractEnum2
FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.TestAbstractEnum2
VALUE_PARAMETER name:value index:0 type:kotlin.String
BLOCK_BODY
FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:<root>.IFoo) returnType:kotlin.Unit [fake_override]