[FIR] Fix local variable tests.
- Mangle names for extension receivers in lambdas - Correctly mark anonymous variables and variables for arguments for destructuring declaration. There is one failure remaining which is cause by lambda type inference differences that leads to FIR having an explicit return from the lambda whereas old frontend leads to an implicit return. This difference is visible in debug stepping that the local variables tests do because the implicit return has the line number of the closing brace of the lambda. This change adds an IrText test to make the difference clear.
This commit is contained in:
committed by
Mikhail Glukhikh
parent
99293de6e9
commit
e1f6c19c83
@@ -69,7 +69,7 @@ FILE fqName:<root> fileName:/noSymbolForIntRangeIterator.kt
|
||||
CALL 'public final fun buildString (builderAction: @[ExtensionFunctionType] kotlin.Function1<java.lang.StringBuilder, kotlin.Unit>): kotlin.String [inline] declared in kotlin.text.StringsKt' type=kotlin.String origin=null
|
||||
builderAction: FUN_EXPR type=kotlin.Function1<java.lang.StringBuilder, kotlin.Unit> origin=LAMBDA
|
||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($receiver:java.lang.StringBuilder) returnType:kotlin.Unit
|
||||
$receiver: VALUE_PARAMETER name:<this> type:java.lang.StringBuilder
|
||||
$receiver: VALUE_PARAMETER name:$this$buildString type:java.lang.StringBuilder
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_2 type:kotlin.collections.IntIterator [val]
|
||||
@@ -85,7 +85,7 @@ FILE fqName:<root> fileName:/noSymbolForIntRangeIterator.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_2: kotlin.collections.IntIterator [val] declared in <root>.test.localFunc.<anonymous>' type=kotlin.collections.IntIterator origin=null
|
||||
CALL 'public final fun appendLine (value: kotlin.String?): java.lang.StringBuilder [inline] declared in kotlin.text.StringsKt' type=java.lang.StringBuilder origin=null
|
||||
$receiver: GET_VAR '<this>: java.lang.StringBuilder declared in <root>.test.localFunc.<anonymous>' type=java.lang.StringBuilder origin=null
|
||||
$receiver: GET_VAR '$this$buildString: java.lang.StringBuilder declared in <root>.test.localFunc.<anonymous>' type=java.lang.StringBuilder origin=null
|
||||
value: STRING_CONCATENATION type=kotlin.String
|
||||
CALL 'public final fun times (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=MUL
|
||||
$this: GET_VAR 'val i: kotlin.Int [val] declared in <root>.test.localFunc' type=kotlin.Int origin=null
|
||||
|
||||
Reference in New Issue
Block a user