[FIR] Fix transform of subject of when expressions with subject variable

This commit is contained in:
Dmitriy Novozhilov
2020-03-13 14:17:41 +03:00
parent 820da6edaa
commit 37aa234bb7
6 changed files with 27 additions and 0 deletions
@@ -58,6 +58,7 @@ internal class FirWhenExpressionImpl(
override fun <D> transformSubject(transformer: FirTransformer<D>, data: D): FirWhenExpressionImpl {
if (subjectVariable != null) {
subjectVariable = subjectVariable?.transformSingle(transformer, data)
subject = subjectVariable?.initializer
} else {
subject = subject?.transformSingle(transformer, data)
}
@@ -266,6 +266,7 @@ fun SmartPrinter.printImplementation(implementation: Implementation) {
"""
|if (subjectVariable != null) {
| subjectVariable = subjectVariable?.transformSingle(transformer, data)
| subject = subjectVariable?.initializer
| } else {
| subject = subject?.transformSingle(transformer, data)
| }