[FE 1.0] Correctly set USED_AS_EXPRESSION for unreachable catch clauses

^KT-48806 Fixed
This commit is contained in:
Dmitriy Novozhilov
2021-09-17 13:40:14 +03:00
committed by teamcityserver
parent 9ca8d39240
commit bfeb9c219d
10 changed files with 197 additions and 1 deletions
@@ -807,6 +807,13 @@ class ControlFlowInformationProviderImpl private constructor(
for (element in pseudocode.getValueElements(value)) {
trace.record(USED_AS_EXPRESSION, element, isUsedAsExpression)
trace.record(USED_AS_RESULT_OF_LAMBDA, element, isUsedAsResultOfLambda)
if (isUsedAsExpression && element is KtTryExpression) {
trace.record(USED_AS_EXPRESSION, element.tryBlock, true)
for (catchClause in element.catchClauses) {
val body = catchClause.catchBody ?: continue
trace.record(USED_AS_EXPRESSION, body, true)
}
}
}
}
}