From 7e052c1eb138e06d254b5c538a0a36d69c3d151d Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 23 Apr 2021 10:12:06 +0300 Subject: [PATCH] [FIR] Fix suppressing diagnostics for some expressions --- .../AbstractDiagnosticCollectorVisitor.kt | 13 +++++++------ .../CheckerRunningDiagnosticCollectorVisitor.kt | 4 ---- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/collectors/AbstractDiagnosticCollectorVisitor.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/collectors/AbstractDiagnosticCollectorVisitor.kt index 6134d583295..f9135075c3f 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/collectors/AbstractDiagnosticCollectorVisitor.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/collectors/AbstractDiagnosticCollectorVisitor.kt @@ -27,7 +27,10 @@ abstract class AbstractDiagnosticCollectorVisitor( protected open fun shouldVisitDeclaration(declaration: FirDeclaration) = true protected open fun onDeclarationExit(declaration: FirDeclaration) {} - protected abstract fun visitNestedElements(element: FirElement) + protected open fun visitNestedElements(element: FirElement) { + element.acceptChildren(this, null) + } + protected abstract fun checkElement(element: FirElement) override fun visitElement(element: FirElement, data: Nothing?) { @@ -210,15 +213,13 @@ abstract class AbstractDiagnosticCollectorVisitor( private fun visitWithQualifiedAccess(qualifiedAccess: FirQualifiedAccess) { return withQualifiedAccess(qualifiedAccess) { - checkElement(qualifiedAccess) - visitNestedElements(qualifiedAccess) + visitElement(qualifiedAccess, null) } } private fun visitWithGetClassCall(getClassCall: FirGetClassCall) { return withGetClassCall(getClassCall) { - checkElement(getClassCall) - visitNestedElements(getClassCall) + visitElement(getClassCall, null) } } @@ -303,4 +304,4 @@ abstract class AbstractDiagnosticCollectorVisitor( allErrorsSuppressed = AbstractDiagnosticCollector.SUPPRESS_ALL_ERRORS in arguments ) } -} \ No newline at end of file +} diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/collectors/CheckerRunningDiagnosticCollectorVisitor.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/collectors/CheckerRunningDiagnosticCollectorVisitor.kt index 1084cb486ba..1b6f64adfa6 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/collectors/CheckerRunningDiagnosticCollectorVisitor.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/collectors/CheckerRunningDiagnosticCollectorVisitor.kt @@ -14,10 +14,6 @@ open class CheckerRunningDiagnosticCollectorVisitor( protected val components: List ) : AbstractDiagnosticCollectorVisitor(context) { - override fun visitNestedElements(element: FirElement) { - element.acceptChildren(this, null) - } - override fun checkElement(element: FirElement) { components.forEach { element.accept(it, context)