[KLIB] Use IrMessageLogger in klib linker to report errors
This commit is contained in:
@@ -12,7 +12,6 @@ import com.intellij.openapi.vfs.VfsUtilCore
|
||||
import com.intellij.openapi.vfs.VirtualFileManager
|
||||
import com.intellij.psi.PsiManager
|
||||
import org.jetbrains.kotlin.analyzer.AnalysisResult
|
||||
import org.jetbrains.kotlin.backend.common.LoggingContext
|
||||
import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig
|
||||
import org.jetbrains.kotlin.backend.common.phaser.invokeToplevel
|
||||
import org.jetbrains.kotlin.backend.common.serialization.KlibIrVersion
|
||||
@@ -30,7 +29,6 @@ import org.jetbrains.kotlin.descriptors.konan.kotlinLibrary
|
||||
import org.jetbrains.kotlin.incremental.ChangedFiles
|
||||
import org.jetbrains.kotlin.incremental.EmptyICReporter
|
||||
import org.jetbrains.kotlin.incremental.IncrementalJsCompilerRunner
|
||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||
import org.jetbrains.kotlin.incremental.multiproject.EmptyModulesApiHistory
|
||||
import org.jetbrains.kotlin.incremental.withJsIC
|
||||
import org.jetbrains.kotlin.ir.backend.js.*
|
||||
@@ -65,18 +63,14 @@ import org.junit.Before
|
||||
import org.junit.Ignore
|
||||
import org.junit.Test
|
||||
import java.io.File
|
||||
import kotlin.io.path.*
|
||||
import kotlin.io.path.ExperimentalPathApi
|
||||
import kotlin.io.path.createTempDirectory
|
||||
import kotlin.io.path.createTempFile
|
||||
import org.jetbrains.kotlin.konan.file.File as KonanFile
|
||||
|
||||
@OptIn(ExperimentalPathApi::class)
|
||||
@Ignore
|
||||
class GenerateIrRuntime {
|
||||
private val lookupTracker: LookupTracker = LookupTracker.DO_NOTHING
|
||||
private val logger = object : LoggingContext {
|
||||
override var inVerbosePhase = false
|
||||
override fun log(message: () -> String) {}
|
||||
}
|
||||
|
||||
fun loadKlib(klibPath: String, isPacked: Boolean) = createKotlinLibrary(KonanFile("$klibPath${if (isPacked) ".klib" else ""}"))
|
||||
|
||||
private fun buildConfiguration(environment: KotlinCoreEnvironment): CompilerConfiguration {
|
||||
@@ -462,7 +456,7 @@ class GenerateIrRuntime {
|
||||
|
||||
val irLinker = JsIrLinker(
|
||||
psi2IrContext.moduleDescriptor,
|
||||
emptyLoggingContext,
|
||||
IrMessageLogger.None,
|
||||
psi2IrContext.irBuiltIns,
|
||||
psi2IrContext.symbolTable,
|
||||
functionFactory,
|
||||
@@ -482,6 +476,7 @@ class GenerateIrRuntime {
|
||||
moduleName,
|
||||
project,
|
||||
configuration,
|
||||
IrMessageLogger.None,
|
||||
bindingContext,
|
||||
files,
|
||||
tmpKlibDir,
|
||||
@@ -504,7 +499,7 @@ class GenerateIrRuntime {
|
||||
|
||||
|
||||
private fun doSerializeIrModule(module: IrModuleFragment): SerializedIrModule {
|
||||
val serializedIr = JsIrModuleSerializer(logger, module.irBuiltins, mutableMapOf(), true).serializedIrModule(module)
|
||||
val serializedIr = JsIrModuleSerializer(IrMessageLogger.None, module.irBuiltins, mutableMapOf(), true).serializedIrModule(module)
|
||||
return serializedIr
|
||||
}
|
||||
|
||||
@@ -524,7 +519,7 @@ class GenerateIrRuntime {
|
||||
val functionFactory = IrFunctionFactory(irBuiltIns, symbolTable)
|
||||
irBuiltIns.functionFactory = functionFactory
|
||||
|
||||
val jsLinker = JsIrLinker(moduleDescriptor, logger, irBuiltIns, symbolTable, functionFactory, null)
|
||||
val jsLinker = JsIrLinker(moduleDescriptor, IrMessageLogger.None, irBuiltIns, symbolTable, functionFactory, null)
|
||||
|
||||
val moduleFragment = jsLinker.deserializeFullModule(moduleDescriptor, moduleDescriptor.kotlinLibrary)
|
||||
jsLinker.init(null, emptyList())
|
||||
@@ -554,7 +549,7 @@ class GenerateIrRuntime {
|
||||
val functionFactory = IrFunctionFactory(irBuiltIns, symbolTable)
|
||||
irBuiltIns.functionFactory = functionFactory
|
||||
|
||||
val jsLinker = JsIrLinker(moduleDescriptor, logger, irBuiltIns, symbolTable, functionFactory, null)
|
||||
val jsLinker = JsIrLinker(moduleDescriptor, IrMessageLogger.None, irBuiltIns, symbolTable, functionFactory, null)
|
||||
|
||||
val moduleFragment = jsLinker.deserializeFullModule(moduleDescriptor, moduleDescriptor.kotlinLibrary)
|
||||
// Create stubs
|
||||
|
||||
Reference in New Issue
Block a user