KT-66411 [AA] Add fake source kind for single expression block around array assignments

A wrapper block was introduced as a part of fixing KT-59748, but was
assigned a real source, which had `getOrBuildFir` confused because
of the incorrectly built `KtToFirMapping`

It is relevant for:
- `if`, `when` expressions with an assignment as a single expression
- Kotlin code fragments,
when the assignment is being analysed as a single expression
in the fragment

^KT-66411 Fixed
This commit is contained in:
Roman Golyshev
2024-03-07 23:06:37 +01:00
committed by Space Team
parent ec06654a73
commit b765cf3f99
8 changed files with 15 additions and 25 deletions
@@ -1,12 +1,9 @@
KT element: KtBinaryExpression
FIR element: FirBlockImpl
FIR element: FirFunctionCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
{
R|<local>/foo|.R|/Foo.set|(Int(10), String())
Unit
}
R|<local>/foo|.R|/Foo.set|(Int(10), String())
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] arrayAssignOperatorAsSingleExpressionInIf.kt
@@ -1,12 +1,9 @@
KT element: KtBinaryExpression
FIR element: FirBlockImpl
FIR element: FirFunctionCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
{
R|<local>/foo|.R|/Foo.set|(Int(10), String())
Unit
}
R|<local>/foo|.R|/Foo.set|(Int(10), String())
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] arrayAssignOperatorAsSingleExpressionInWhen.kt