FIR IDE: log errors on diagnostics, not throw them

This commit is contained in:
Ilya Kirillov
2020-08-26 15:10:51 +03:00
parent ebafd0fb51
commit 95a96f32bf
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.idea.fir.low.level.api.diagnostics
import com.intellij.openapi.diagnostic.Logger
import org.jetbrains.kotlin.diagnostics.Diagnostic
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.analysis.collectors.AbstractDiagnosticCollector
@@ -45,10 +46,16 @@ internal class FirIdeDiagnosticsCollector private constructor(
}
override fun runCheck(block: (DiagnosticReporter) -> Unit) {
block(reporter)
try {
block(reporter)
} catch (e: Throwable) {
LOG.error(e)
}
}
companion object {
private val LOG = Logger.getInstance(FirIdeDiagnosticsCollector::class.java)
/**
* Collects diagnostics for given [firFile]
* Should be called under [firFile]-based lock