[FIR] Fix suppressing diagnostics for some expressions

This commit is contained in:
Dmitriy Novozhilov
2021-04-23 10:12:06 +03:00
committed by TeamCityServer
parent 2a08923c51
commit 7e052c1eb1
2 changed files with 7 additions and 10 deletions
@@ -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
)
}
}
}
@@ -14,10 +14,6 @@ open class CheckerRunningDiagnosticCollectorVisitor(
protected val components: List<AbstractDiagnosticCollectorComponent>
) : AbstractDiagnosticCollectorVisitor(context) {
override fun visitNestedElements(element: FirElement) {
element.acceptChildren(this, null)
}
override fun checkElement(element: FirElement) {
components.forEach {
element.accept(it, context)