JS: merge KotlinJavascriptSerializer into KotlinJavascriptSerializationUtil
This commit is contained in:
+1
-3
@@ -28,7 +28,6 @@ import org.jetbrains.kotlin.config.addKotlinSourceRoots
|
||||
import org.jetbrains.kotlin.descriptors.impl.CompositePackageFragmentProvider
|
||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
|
||||
import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS
|
||||
import org.jetbrains.kotlin.js.config.EcmaVersion
|
||||
import org.jetbrains.kotlin.js.config.LibrarySourcesConfig
|
||||
import org.jetbrains.kotlin.jvm.compiler.LoadDescriptorUtil.TEST_PACKAGE_FQNAME
|
||||
import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil
|
||||
@@ -36,7 +35,6 @@ import org.jetbrains.kotlin.test.JetTestUtils
|
||||
import org.jetbrains.kotlin.test.TestCaseWithTmpdir
|
||||
import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator
|
||||
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils
|
||||
import org.jetbrains.kotlin.utils.serializer.KotlinJavaScriptSerializer
|
||||
import java.io.File
|
||||
|
||||
public class KotlinJavascriptSerializerTest : TestCaseWithTmpdir() {
|
||||
@@ -71,7 +69,7 @@ public class KotlinJavascriptSerializerTest : TestCaseWithTmpdir() {
|
||||
val files = environment.getSourceFiles()
|
||||
val config = LibrarySourcesConfig.Builder(environment.project, MODULE_NAME, LibrarySourcesConfig.JS_STDLIB).build()
|
||||
val analysisResult = TopDownAnalyzerFacadeForJS.analyzeFiles(files, config)
|
||||
KotlinJavaScriptSerializer().serialize(MODULE_NAME, analysisResult.moduleDescriptor, metaFile)
|
||||
FileUtil.writeToFile(metaFile, KotlinJavascriptSerializationUtil.metadataAsString(MODULE_NAME, analysisResult.moduleDescriptor))
|
||||
}
|
||||
finally {
|
||||
Disposer.dispose(rootDisposable)
|
||||
|
||||
@@ -30,6 +30,7 @@ public object KotlinJavascriptMetadataUtils {
|
||||
private val LOG = Logger.getInstance(javaClass<KotlinJavascriptMetadataUtils>())
|
||||
|
||||
public val JS_EXT: String = ".js"
|
||||
public val META_JS_SUFFIX: String = ".meta.js"
|
||||
private val KOTLIN_JAVASCRIPT_METHOD_NAME = "kotlin_module_metadata"
|
||||
private val KOTLIN_JAVASCRIPT_METHOD_NAME_PATTERN = "\\.kotlin_module_metadata\\(".toRegex()
|
||||
/**
|
||||
@@ -41,11 +42,7 @@ public object KotlinJavascriptMetadataUtils {
|
||||
platformStatic
|
||||
public fun hasMetadata(text: String): Boolean = METADATA_PATTERN.matcher(text).find()
|
||||
|
||||
public fun writeMetadata(moduleName: String, content: ByteArray, metaFile: File) {
|
||||
FileUtil.writeToFile(metaFile, writeMetadataToString(moduleName, content))
|
||||
}
|
||||
|
||||
public fun writeMetadataToString(moduleName: String, content: ByteArray): String =
|
||||
public fun formatMetadataAsString(moduleName: String, content: ByteArray): String =
|
||||
"// Kotlin.$KOTLIN_JAVASCRIPT_METHOD_NAME($ABI_VERSION, \"$moduleName\", \"${printBase64Binary(content)}\");\n"
|
||||
|
||||
platformStatic
|
||||
|
||||
Reference in New Issue
Block a user