[FIR] Fix suppressing diagnostics for some expressions
This commit is contained in:
committed by
TeamCityServer
parent
2a08923c51
commit
7e052c1eb1
+7
-6
@@ -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
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-4
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user