FIR: Allow selector of safe calls to be a FirStatement
It's necessary to allow a?.b += v be interpreted as a?.(b += v) But currently FirAssignmentOperatorStatement is not FirQualifiedAccess ^KT-41034 In Progress
This commit is contained in:
@@ -1595,21 +1595,21 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver
|
||||
|
||||
+"?."
|
||||
|
||||
val nestedQualifier = safeCallExpression.regularQualifiedAccess
|
||||
if (nestedQualifier.explicitReceiver == safeCallExpression.checkedSubjectRef.value) {
|
||||
when (nestedQualifier) {
|
||||
val selector = safeCallExpression.selector
|
||||
if (selector is FirQualifiedAccess && selector.explicitReceiver == safeCallExpression.checkedSubjectRef.value) {
|
||||
when (selector) {
|
||||
is FirFunctionCall -> {
|
||||
return generate(nestedQualifier, skipReceiver = true)
|
||||
return generate(selector, skipReceiver = true)
|
||||
}
|
||||
is FirQualifiedAccessExpression -> {
|
||||
return generate(nestedQualifier, skipReceiver = true)
|
||||
return generate(selector, skipReceiver = true)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+"{ "
|
||||
|
||||
generate(nestedQualifier)
|
||||
generate(selector)
|
||||
|
||||
+" }"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user