Simplify code in JS serialization related to module descriptors
Do not use `JsModuleDescriptor<...>` where only its `data` is needed
This commit is contained in:
@@ -10,7 +10,6 @@ import org.jetbrains.kotlin.backend.common.lower.*
|
||||
import org.jetbrains.kotlin.backend.common.runOnFilePostfix
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
|
||||
import org.jetbrains.kotlin.ir.backend.js.lower.*
|
||||
import org.jetbrains.kotlin.ir.backend.js.lower.inline.*
|
||||
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.IrModuleToJsTransformer
|
||||
@@ -23,8 +22,6 @@ import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.progress.ProgressIndicatorAndCompilationCanceledStatus
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi2ir.Psi2IrTranslator
|
||||
import org.jetbrains.kotlin.serialization.js.JsModuleDescriptor
|
||||
import org.jetbrains.kotlin.serialization.js.ModuleKind
|
||||
|
||||
data class Result(val moduleDescriptor: ModuleDescriptor, val generatedCode: String)
|
||||
|
||||
@@ -35,12 +32,8 @@ fun compile(
|
||||
export: FqName? = null,
|
||||
dependencies: List<ModuleDescriptor> = listOf()
|
||||
): Result {
|
||||
val moduleDescriptors =
|
||||
dependencies
|
||||
.filterIsInstance<ModuleDescriptorImpl>()
|
||||
.map { JsModuleDescriptor("", ModuleKind.PLAIN, listOf(), it) }
|
||||
|
||||
val analysisResult = TopDownAnalyzerFacadeForJS.analyzeFiles(files, project, configuration, moduleDescriptors, emptyList())
|
||||
val analysisResult =
|
||||
TopDownAnalyzerFacadeForJS.analyzeFiles(files, project, configuration, dependencies.filterIsInstance(), emptyList())
|
||||
|
||||
ProgressIndicatorAndCompilationCanceledStatus.checkCanceled()
|
||||
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ abstract class AbstractDiagnosticsTestWithJsStdLib : AbstractDiagnosticsTest() {
|
||||
}
|
||||
|
||||
override fun getAdditionalDependencies(module: ModuleDescriptorImpl): List<ModuleDescriptorImpl> =
|
||||
config.moduleDescriptors.map { it.data }
|
||||
config.moduleDescriptors
|
||||
|
||||
override fun shouldSkipJvmSignatureDiagnostics(groupedByModule: Map<TestModule?, List<TestFile>>): Boolean = true
|
||||
|
||||
|
||||
+5
-3
@@ -33,6 +33,7 @@ import org.jetbrains.kotlin.js.config.JsConfig
|
||||
import org.jetbrains.kotlin.js.resolve.JsPlatform
|
||||
import org.jetbrains.kotlin.jvm.compiler.LoadDescriptorUtil.TEST_PACKAGE_FQNAME
|
||||
import org.jetbrains.kotlin.serialization.deserialization.DeserializationConfiguration
|
||||
import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil.readModuleAsProto
|
||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
import org.jetbrains.kotlin.test.TestCaseWithTmpdir
|
||||
@@ -94,9 +95,10 @@ class KotlinJavascriptSerializerTest : TestCaseWithTmpdir() {
|
||||
val metadata = KotlinJavascriptMetadataUtils.loadMetadata(metaFile)
|
||||
assert(metadata.size == 1)
|
||||
|
||||
val provider = KotlinJavascriptSerializationUtil.readModule(
|
||||
metadata.single().body, LockBasedStorageManager(), module, DeserializationConfiguration.Default, LookupTracker.DO_NOTHING
|
||||
).data.sure { "No package fragment provider was created" }
|
||||
val (header, packageFragmentProtos) = readModuleAsProto(metadata.single().body)
|
||||
val provider = createKotlinJavascriptPackageFragmentProvider(
|
||||
LockBasedStorageManager(), module, header, packageFragmentProtos, DeserializationConfiguration.Default, LookupTracker.DO_NOTHING
|
||||
).sure { "No package fragment provider was created" }
|
||||
|
||||
module.initialize(provider)
|
||||
module.setDependencies(module, module.builtIns.builtInsModule)
|
||||
|
||||
Reference in New Issue
Block a user