diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/ConeDiagnostic.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/ConeDiagnostic.kt index 75cae4bb49e..48ff0bf9fde 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/ConeDiagnostic.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/ConeDiagnostic.kt @@ -16,21 +16,25 @@ class ConeDiagnostic( ) inline fun DiagnosticFactory0.onSource(source: FirSourceElement): ConeDiagnostic? { - val psi = source.psi as? E ?: return null + val psi = source.psi as? E + ?: throw IllegalArgumentException("Incompatible PSI: expected ${E::class}, actual ${source.psi?.let { it::class }}") return ConeDiagnostic(this.on(psi), source) } inline fun DiagnosticFactory1.onSource(source: FirSourceElement, a: A): ConeDiagnostic? { - val psi = source.psi as? E ?: return null + val psi = source.psi as? E + ?: throw IllegalArgumentException("Incompatible PSI: expected ${E::class}, actual ${source.psi?.let { it::class }}") return ConeDiagnostic(this.on(psi, a), source) } inline fun DiagnosticFactory2.onSource(source: FirSourceElement, a: A, b: B): ConeDiagnostic? { - val psi = source.psi as? E ?: return null + val psi = source.psi as? E + ?: throw IllegalArgumentException("Incompatible PSI: expected ${E::class}, actual ${source.psi?.let { it::class }}") return ConeDiagnostic(this.on(psi, a, b), source) } inline fun DiagnosticFactory3.onSource(source: FirSourceElement, a: A, b: B, c: C): ConeDiagnostic? { - val psi = source.psi as? E ?: return null + val psi = source.psi as? E + ?: throw IllegalArgumentException("Incompatible PSI: expected ${E::class}, actual ${source.psi?.let { it::class }}") return ConeDiagnostic(this.on(psi, a, b, c), source) }