Fix Kotlin/JS compiler under JRE9
See KT-20653, KT-20650
This commit is contained in:
@@ -20,8 +20,7 @@ import org.jetbrains.kotlin.serialization.deserialization.BinaryVersion
|
||||
import java.io.DataInputStream
|
||||
import java.io.File
|
||||
import java.io.InputStream
|
||||
import javax.xml.bind.DatatypeConverter.parseBase64Binary
|
||||
import javax.xml.bind.DatatypeConverter.printBase64Binary
|
||||
import java.util.*
|
||||
|
||||
class KotlinJavascriptMetadata(val version: JsMetadataVersion, val moduleName: String, val body: ByteArray)
|
||||
|
||||
@@ -73,7 +72,8 @@ object KotlinJavascriptMetadataUtils {
|
||||
KOTLIN_JAVASCRIPT_METHOD_NAME_PATTERN.matcher(text).find() && METADATA_PATTERN.matcher(text).find()
|
||||
|
||||
fun formatMetadataAsString(moduleName: String, content: ByteArray): String =
|
||||
"// Kotlin.$KOTLIN_JAVASCRIPT_METHOD_NAME(${JsMetadataVersion.INSTANCE.toInteger()}, \"$moduleName\", \"${printBase64Binary(content)}\");\n"
|
||||
"// Kotlin.$KOTLIN_JAVASCRIPT_METHOD_NAME(${JsMetadataVersion.INSTANCE.toInteger()}, \"$moduleName\", " +
|
||||
"\"${Base64.getEncoder().encodeToString(content)}\");\n"
|
||||
|
||||
@JvmStatic
|
||||
fun loadMetadata(file: File): List<KotlinJavascriptMetadata> {
|
||||
@@ -99,7 +99,7 @@ object KotlinJavascriptMetadataUtils {
|
||||
val abiVersion = JsMetadataVersion.fromInteger(matcher.group(1).toInt())
|
||||
val moduleName = matcher.group(3)
|
||||
val data = matcher.group(5)
|
||||
metadataList.add(KotlinJavascriptMetadata(abiVersion, moduleName, parseBase64Binary(data)))
|
||||
metadataList.add(KotlinJavascriptMetadata(abiVersion, moduleName, Base64.getDecoder().decode(data)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user