Simplify code in JS serialization related to module descriptors
Do not use `JsModuleDescriptor<...>` where only its `data` is needed
This commit is contained in:
@@ -49,6 +49,7 @@ import org.jetbrains.kotlin.metadata.DebugProtoBuf
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi.KtNamedFunction
|
||||
import org.jetbrains.kotlin.psi.KtPsiFactory
|
||||
import org.jetbrains.kotlin.serialization.js.JsModuleDescriptor
|
||||
import org.jetbrains.kotlin.serialization.js.JsSerializerProtocol
|
||||
import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil
|
||||
import org.jetbrains.kotlin.serialization.js.ModuleKind
|
||||
@@ -394,9 +395,11 @@ abstract class BasicBoxTest(
|
||||
val originalMetadata = FileUtil.loadFile(File(outputFile.parentFile, outputFile.nameWithoutExtension + ".meta.js"))
|
||||
val recompiledMetadata = removeRecompiledSuffix(
|
||||
FileUtil.loadFile(File(recompiledOutputFile.parentFile, recompiledOutputFile.nameWithoutExtension + ".meta.js")))
|
||||
assertEquals("Metadata file changed after recompilation",
|
||||
metadataAsString(originalMetadata, module.name),
|
||||
metadataAsString(recompiledMetadata, module.name))
|
||||
assertEquals(
|
||||
"Metadata file changed after recompilation",
|
||||
metadataAsString(originalMetadata),
|
||||
metadataAsString(recompiledMetadata)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -406,10 +409,10 @@ abstract class BasicBoxTest(
|
||||
return String(out.toByteArray(), Charset.forName("UTF-8"))
|
||||
}
|
||||
|
||||
private fun metadataAsString(metadata: String, moduleName: String): String {
|
||||
private fun metadataAsString(metadata: String): String {
|
||||
val containers = mutableListOf<KotlinJavascriptMetadata>()
|
||||
KotlinJavascriptMetadataUtils.parseMetadata(metadata, containers)
|
||||
val metadataParts = KotlinJavascriptSerializationUtil.readModuleAsProto(containers.single().body, moduleName).data.body
|
||||
val metadataParts = KotlinJavascriptSerializationUtil.readModuleAsProto(containers.single().body).body
|
||||
return metadataParts.joinToString("-----\n") {
|
||||
val binary = it.toByteArray()
|
||||
DebugProtoBuf.PackageFragment.parseFrom(binary, JsSerializerProtocol.extensionRegistry).toString()
|
||||
@@ -738,13 +741,12 @@ abstract class BasicBoxTest(
|
||||
KotlinCoreEnvironment.createForTests(testRootDisposable, CompilerConfiguration(), EnvironmentConfigFiles.JS_CONFIG_FILES)
|
||||
|
||||
companion object {
|
||||
val METADATA_CACHE = (JsConfig.JS_STDLIB.asSequence() + JsConfig.JS_KOTLIN_TEST)
|
||||
.flatMap {
|
||||
KotlinJavascriptMetadataUtils
|
||||
.loadMetadata(it).asSequence()
|
||||
.map { KotlinJavascriptSerializationUtil.readModuleAsProto(it.body, it.moduleName) }
|
||||
}
|
||||
.toList()
|
||||
val METADATA_CACHE = (JsConfig.JS_STDLIB + JsConfig.JS_KOTLIN_TEST).flatMap { path ->
|
||||
KotlinJavascriptMetadataUtils.loadMetadata(path).map { metadata ->
|
||||
val parts = KotlinJavascriptSerializationUtil.readModuleAsProto(metadata.body)
|
||||
JsModuleDescriptor(metadata.moduleName, parts.kind, parts.importedModules, parts)
|
||||
}
|
||||
}
|
||||
|
||||
const val TEST_DATA_DIR_PATH = "js/js.translator/testData/"
|
||||
const val DIST_DIR_JS_PATH = "dist/js/"
|
||||
|
||||
Reference in New Issue
Block a user