e1f6c19c83
- 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.
47 lines
3.6 KiB
Plaintext
Vendored
47 lines
3.6 KiB
Plaintext
Vendored
FILE fqName:<root> fileName:/kt37570.kt
|
|
FUN name:a visibility:public modality:FINAL <> () returnType:kotlin.String
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='public final fun a (): kotlin.String declared in <root>'
|
|
CONST String type=kotlin.String value="string"
|
|
CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]
|
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
|
|
CONSTRUCTOR visibility:public <> () returnType:<root>.A [primary]
|
|
BLOCK_BODY
|
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
|
PROPERTY name:b visibility:public modality:FINAL [val]
|
|
FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.String visibility:private [final]
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-b> visibility:public modality:FINAL <> ($this:<root>.A) returnType:kotlin.String
|
|
correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [val]
|
|
$this: VALUE_PARAMETER name:<this> type:<root>.A
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='public final fun <get-b> (): kotlin.String declared in <root>.A'
|
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
|
|
receiver: GET_VAR '<this>: <root>.A declared in <root>.A.<get-b>' type=<root>.A origin=null
|
|
ANONYMOUS_INITIALIZER isStatic=false
|
|
BLOCK_BODY
|
|
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
|
CALL 'public final fun apply <T> (block: @[ExtensionFunctionType] kotlin.Function1<T of kotlin.StandardKt.apply, kotlin.Unit>): T of kotlin.StandardKt.apply [inline] declared in kotlin.StandardKt' type=kotlin.String origin=null
|
|
<T>: kotlin.String
|
|
$receiver: CALL 'public final fun a (): kotlin.String declared in <root>' type=kotlin.String origin=null
|
|
block: FUN_EXPR type=kotlin.Function1<kotlin.String, kotlin.Unit> origin=LAMBDA
|
|
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Unit
|
|
$receiver: VALUE_PARAMETER name:$this$apply type:kotlin.String
|
|
BLOCK_BODY
|
|
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.String visibility:private [final]' type=kotlin.Unit origin=null
|
|
receiver: GET_VAR '<this>: <root>.A declared in <root>.A' type=<root>.A origin=null
|
|
value: GET_VAR '$this$apply: kotlin.String declared in <root>.A.<anonymous>' type=kotlin.String origin=null
|
|
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
|
overridden:
|
|
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
|
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
|
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
|
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
|
overridden:
|
|
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
|
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
|
overridden:
|
|
public open fun toString (): kotlin.String declared in kotlin.Any
|
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|