[FE 1.0] Support proper DUPLICATE_LABEL_IN_WHEN reporting for deprecated complex boolean expressions

^KT-50385
^KT-39883
This commit is contained in:
Dmitriy Novozhilov
2021-12-19 22:43:42 +03:00
committed by teamcity
parent eb753eac83
commit 8a58e98530
12 changed files with 162 additions and 12 deletions
@@ -33,6 +33,7 @@ import org.jetbrains.kotlin.cfg.pseudocode.instructions.eval.InstructionWithValu
import org.jetbrains.kotlin.cfg.pseudocode.instructions.eval.MagicKind
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
import org.jetbrains.kotlin.contracts.description.EventOccurrencesRange
import org.jetbrains.kotlin.contracts.description.canBeRevisited
import org.jetbrains.kotlin.contracts.description.isDefinitelyVisited
@@ -1321,7 +1322,11 @@ class ControlFlowProcessor(
builder.bindLabel(doneLabel)
mergeValues(branches, expression)
WhenChecker.checkDuplicatedLabels(expression, trace)
WhenChecker.checkDuplicatedLabels(
expression,
trace,
languageVersionSettings ?: LanguageVersionSettingsImpl.DEFAULT
)
}
override fun visitObjectLiteralExpression(expression: KtObjectLiteralExpression) {