JS: add writeMetadataToString, serializeToString

This commit is contained in:
Michael Nedzelsky
2015-03-25 13:50:41 +03:00
parent 0951d69bdc
commit dbe59190ed
2 changed files with 10 additions and 3 deletions
@@ -16,6 +16,7 @@
package org.jetbrains.kotlin.utils.serializer
import com.intellij.openapi.util.io.FileUtil
import org.jetbrains.kotlin.builtins.BuiltInsSerializationUtil
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
@@ -36,6 +37,10 @@ import java.io.File
public class KotlinJavaScriptSerializer() {
public fun serialize(moduleName: String, moduleDescriptor: ModuleDescriptor, metaFile: File) {
FileUtil.writeToFile(metaFile, serializeToString(moduleName, moduleDescriptor))
}
public fun serializeToString(moduleName: String, moduleDescriptor: ModuleDescriptor): String {
val contentMap = hashMapOf<String, ByteArray>()
DescriptorUtils.getPackagesFqNames(moduleDescriptor).forEach {
@@ -47,7 +52,7 @@ public class KotlinJavaScriptSerializer() {
}
val content = KotlinJavascriptSerializationUtil.contentMapToByteArray(contentMap)
KotlinJavascriptMetadataUtils.writeMetadata(moduleName, content, metaFile)
return KotlinJavascriptMetadataUtils.writeMetadataToString(moduleName, content)
}
fun serializePackage(module: ModuleDescriptor, fqName: FqName, writeFun: (String, ByteArrayOutputStream) -> Unit) {