Copy methods for lambdas to DefaultImpls without receiver transformation

#KT-48230 Fixed
This commit is contained in:
Mikhael Bogdanov
2021-08-17 12:22:05 +02:00
committed by Space
parent 6d7eb2bd21
commit a5e59e09ee
25 changed files with 111 additions and 19 deletions
@@ -366,7 +366,7 @@ FILE fqName:<root> fileName:/clashingFakeOverrideSignatures.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in <root>.outerFun.LocalDerived
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:test visibility:local modality:FINAL <> (b:<root>.outerFun.LocalBase<kotlin.String>, d:<root>.outerFun.LocalDerived, d2:<root>.outerFun.LocalDerived2) returnType:kotlin.Unit
FUN LOCAL_FUNCTION name:test visibility:local modality:FINAL <> (b:<root>.outerFun.LocalBase<kotlin.String>, d:<root>.outerFun.LocalDerived, d2:<root>.outerFun.LocalDerived2) returnType:kotlin.Unit
VALUE_PARAMETER name:b index:0 type:<root>.outerFun.LocalBase<kotlin.String>
VALUE_PARAMETER name:d index:1 type:<root>.outerFun.LocalDerived
VALUE_PARAMETER name:d2 index:2 type:<root>.outerFun.LocalDerived2
@@ -8,7 +8,7 @@ FILE fqName:<root> fileName:/defaultArguments.kt
EXPRESSION_BODY
CONST String type=kotlin.String value="abc"
BLOCK_BODY
FUN name:local visibility:local modality:FINAL <> (xx:kotlin.Int, yy:kotlin.Int, zz:kotlin.String) returnType:kotlin.Unit
FUN LOCAL_FUNCTION name:local visibility:local modality:FINAL <> (xx:kotlin.Int, yy:kotlin.Int, zz:kotlin.String) returnType:kotlin.Unit
VALUE_PARAMETER name:xx index:0 type:kotlin.Int
EXPRESSION_BODY
GET_VAR 'x: kotlin.Int declared in <root>.test1' type=kotlin.Int origin=null
@@ -48,7 +48,7 @@ FILE fqName:<root> fileName:/lambdas.kt
FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Function2<kotlin.Int, kotlin.Int, kotlin.Unit> visibility:private [final,static]
EXPRESSION_BODY
FUN_EXPR type=kotlin.Function2<kotlin.Int, kotlin.Int, kotlin.Unit> origin=ANONYMOUS_FUNCTION
FUN name:<no name provided> visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.Int) returnType:kotlin.Unit
FUN LOCAL_FUNCTION name:<no name provided> visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.Int) returnType:kotlin.Unit
VALUE_PARAMETER name:i index:0 type:kotlin.Int
VALUE_PARAMETER name:j index:1 type:kotlin.Int
BLOCK_BODY
@@ -2,12 +2,12 @@ FILE fqName:<root> fileName:/localFun.kt
FUN name:outer visibility:public modality:FINAL <TT> () returnType:kotlin.Unit
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?]
BLOCK_BODY
FUN name:test1 visibility:local modality:FINAL <T> (i:kotlin.Int, j:T of <root>.outer.test1) returnType:kotlin.Unit
FUN LOCAL_FUNCTION name:test1 visibility:local modality:FINAL <T> (i:kotlin.Int, j:T of <root>.outer.test1) returnType:kotlin.Unit
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
VALUE_PARAMETER name:i index:0 type:kotlin.Int
VALUE_PARAMETER name:j index:1 type:T of <root>.outer.test1
BLOCK_BODY
FUN name:test2 visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.String) returnType:kotlin.Unit
FUN LOCAL_FUNCTION name:test2 visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.String) returnType:kotlin.Unit
VALUE_PARAMETER name:i index:0 type:kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value=0
@@ -15,10 +15,10 @@ FILE fqName:<root> fileName:/localFun.kt
EXPRESSION_BODY
CONST String type=kotlin.String value=""
BLOCK_BODY
FUN name:test3 visibility:local modality:FINAL <> (args:kotlin.Array<out kotlin.String>) returnType:kotlin.Unit
FUN LOCAL_FUNCTION name:test3 visibility:local modality:FINAL <> (args:kotlin.Array<out kotlin.String>) returnType:kotlin.Unit
VALUE_PARAMETER name:args index:0 type:kotlin.Array<out kotlin.String> varargElementType:kotlin.String [vararg]
BLOCK_BODY
FUN name:textExt1 visibility:local modality:FINAL <> ($receiver:kotlin.String, i:kotlin.Int, j:TT of <root>.outer) returnType:kotlin.Unit
FUN LOCAL_FUNCTION name:textExt1 visibility:local modality:FINAL <> ($receiver:kotlin.String, i:kotlin.Int, j:TT of <root>.outer) returnType:kotlin.Unit
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
VALUE_PARAMETER name:i index:0 type:kotlin.Int
VALUE_PARAMETER name:j index:1 type:TT of <root>.outer
+1 -1
View File
@@ -15,5 +15,5 @@ FILE fqName:<root> fileName:/kt47245.kt
CALL 'public final fun next (): kotlin.Int [operator] declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
$this: GET_VAR 'val tmp_0: kotlin.collections.IntIterator [val] declared in <root>.test' type=kotlin.collections.IntIterator origin=null
BLOCK type=kotlin.Unit origin=null
FUN name:x visibility:local modality:FINAL <> () returnType:kotlin.Unit
FUN LOCAL_FUNCTION name:x visibility:local modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
@@ -27,7 +27,7 @@ FILE fqName:<root> fileName:/variableAsFunctionCallWithGenerics.kt
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-kt26531Val> <T> (): kotlin.Function0<T of <root>.<get-kt26531Val>> declared in <root>'
FUN_EXPR type=kotlin.Function0<T of <root>.<get-kt26531Val>> origin=ANONYMOUS_FUNCTION
FUN name:<no name provided> visibility:local modality:FINAL <> () returnType:T of <root>.<get-kt26531Val>
FUN LOCAL_FUNCTION name:<no name provided> visibility:local modality:FINAL <> () returnType:T of <root>.<get-kt26531Val>
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <no name provided> (): T of <root>.<get-kt26531Val> declared in <root>.<get-kt26531Val>'
GET_VAR '<this>: T of <root>.<get-kt26531Val> declared in <root>.<get-kt26531Val>' type=T of <root>.<get-kt26531Val> origin=null
+1 -1
View File
@@ -3,7 +3,7 @@ FILE fqName:<root> fileName:/anonymousFunction.kt
FIELD PROPERTY_BACKING_FIELD name:anonymous type:kotlin.Function0<kotlin.Unit> visibility:private [final,static]
EXPRESSION_BODY
FUN_EXPR type=kotlin.Function0<kotlin.Unit> origin=ANONYMOUS_FUNCTION
FUN name:<no name provided> visibility:local modality:FINAL <> () returnType:kotlin.Unit
FUN LOCAL_FUNCTION name:<no name provided> visibility:local modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io.ConsoleKt' type=kotlin.Unit origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-anonymous> visibility:public modality:FINAL <> () returnType:kotlin.Function0<kotlin.Unit>
+1 -1
View File
@@ -3,7 +3,7 @@ FILE fqName:<root> fileName:/localFunction.kt
BLOCK_BODY
VAR name:x type:kotlin.Int [var]
CONST Int type=kotlin.Int value=0
FUN name:local visibility:local modality:FINAL <> () returnType:kotlin.Unit
FUN LOCAL_FUNCTION name:local visibility:local modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=POSTFIX_INCR