[KLIB Resolver] Don't discriminate KLIBs by duplicated unique_name in K2 metadata compiler
Use the same approach as in K1 metadata compiler: resolve each library separately from others, don't attempt to resolve them all at once. ^KT-63573
This commit is contained in:
committed by
Space Team
parent
1c285de55e
commit
b1093d8082
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.cli.metadata
|
||||
import com.intellij.openapi.vfs.StandardFileSystems
|
||||
import com.intellij.openapi.vfs.VirtualFileManager
|
||||
import org.jetbrains.kotlin.analyzer.common.CommonPlatformAnalyzerServices
|
||||
import org.jetbrains.kotlin.backend.common.CommonKLibResolver
|
||||
import org.jetbrains.kotlin.cli.common.*
|
||||
import org.jetbrains.kotlin.cli.common.fir.FirDiagnosticsCompilerResultsReporter
|
||||
import org.jetbrains.kotlin.cli.common.messages.toLogger
|
||||
@@ -41,10 +40,13 @@ import org.jetbrains.kotlin.fir.serialization.serializeSingleFirFile
|
||||
import org.jetbrains.kotlin.library.SerializedMetadata
|
||||
import org.jetbrains.kotlin.library.metadata.KlibMetadataHeaderFlags
|
||||
import org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf
|
||||
import org.jetbrains.kotlin.library.metadata.resolver.impl.KotlinResolvedLibraryImpl
|
||||
import org.jetbrains.kotlin.library.resolveSingleFileKlib
|
||||
import org.jetbrains.kotlin.modules.TargetId
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.platform.CommonPlatforms
|
||||
import java.io.File
|
||||
import org.jetbrains.kotlin.konan.file.File as KFile
|
||||
|
||||
internal class FirMetadataSerializer(
|
||||
configuration: CompilerConfiguration,
|
||||
@@ -78,7 +80,12 @@ internal class FirMetadataSerializer(
|
||||
.filterIsInstance<JvmClasspathRoot>()
|
||||
.filter { it.file.isDirectory || it.file.extension == "klib" }
|
||||
.map { it.file.absolutePath }
|
||||
val resolvedLibraries = CommonKLibResolver.resolve(klibFiles, messageCollector.toLogger()).getFullResolvedList()
|
||||
|
||||
val logger = messageCollector.toLogger()
|
||||
|
||||
// TODO: This is a workaround for KT-63573. Revert it back when KT-64169 is fixed.
|
||||
// val resolvedLibraries = CommonKLibResolver.resolve(klibFiles, logger).getFullResolvedList()
|
||||
val resolvedLibraries = klibFiles.map { KotlinResolvedLibraryImpl(resolveSingleFileKlib(KFile(it), logger)) }
|
||||
|
||||
val outputs = if (isLightTree) {
|
||||
val projectEnvironment = environment.toAbstractProjectEnvironment() as VfsBasedProjectEnvironment
|
||||
|
||||
Reference in New Issue
Block a user