Extract ErrorReportingContext from CommonBackendContext

This commit is contained in:
Sergey Bogolepov
2022-10-14 16:20:07 +03:00
committed by Space Team
parent c22cad07ed
commit 0b2bc06870
3 changed files with 11 additions and 8 deletions
@@ -27,10 +27,12 @@ interface LoggingContext {
fun log(message: () -> String)
}
interface CommonBackendContext : BackendContext, LoggingContext {
override val ir: Ir<CommonBackendContext>
interface ErrorReportingContext {
fun report(element: IrElement?, irFile: IrFile?, message: String, isError: Boolean)
}
interface CommonBackendContext : BackendContext, LoggingContext, ErrorReportingContext {
override val ir: Ir<CommonBackendContext>
val configuration: CompilerConfiguration
val scriptMode: Boolean
@@ -5,19 +5,19 @@
package org.jetbrains.kotlin.backend.konan
import org.jetbrains.kotlin.backend.common.CommonBackendContext
import org.jetbrains.kotlin.backend.common.ErrorReportingContext
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.IrFile
import org.jetbrains.kotlin.ir.util.render
internal fun CommonBackendContext.reportCompilationError(message: String, irFile: IrFile, irElement: IrElement): Nothing {
internal fun ErrorReportingContext.reportCompilationError(message: String, irFile: IrFile, irElement: IrElement): Nothing {
report(irElement, irFile, message, true)
throw KonanCompilationException()
}
internal fun CommonBackendContext.reportCompilationError(message: String): Nothing {
internal fun ErrorReportingContext.reportCompilationError(message: String): Nothing {
report(null, null, message, true)
throw KonanCompilationException()
}
@@ -27,7 +27,7 @@ internal fun CompilerConfiguration.reportCompilationError(message: String): Noth
throw KonanCompilationException()
}
internal fun CommonBackendContext.reportCompilationWarning(message: String) {
internal fun ErrorReportingContext.reportCompilationWarning(message: String) {
report(null, null, message, false)
}
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.ir.util
import org.jetbrains.kotlin.backend.common.CommonBackendContext
import org.jetbrains.kotlin.backend.common.ErrorReportingContext
import org.jetbrains.kotlin.backend.konan.KonanBackendContext
import org.jetbrains.kotlin.backend.konan.KonanCompilationException
import org.jetbrains.kotlin.backend.konan.descriptors.synthesizedName
@@ -126,7 +127,7 @@ tailrec fun IrDeclaration.getContainingFile(): IrFile? {
}
}
internal fun KonanBackendContext.report(declaration: IrDeclaration, message: String, isError: Boolean) {
internal fun ErrorReportingContext.report(declaration: IrDeclaration, message: String, isError: Boolean) {
val irFile = declaration.getContainingFile()
this.report(
declaration,