Minor, add BuiltInsBinaryVersion.readFrom(InputStream)

This commit is contained in:
Alexander Udalov
2016-02-17 15:52:44 +03:00
committed by Alexander Udalov
parent c81d76414f
commit cb490dbe4f
2 changed files with 8 additions and 3 deletions
@@ -17,6 +17,8 @@
package org.jetbrains.kotlin.builtins
import org.jetbrains.kotlin.serialization.deserialization.BinaryVersion
import java.io.DataInputStream
import java.io.InputStream
/**
* The version of the format in which the .kotlin_builtins file is stored. This version also includes the version
@@ -28,5 +30,10 @@ class BuiltInsBinaryVersion(vararg numbers: Int) : BinaryVersion(*numbers) {
companion object {
@JvmField
val INSTANCE = BuiltInsBinaryVersion(1, 0, 0)
fun readFrom(stream: InputStream): BuiltInsBinaryVersion {
val dataInput = DataInputStream(stream)
return BuiltInsBinaryVersion(*(1..dataInput.readInt()).map { dataInput.readInt() }.toIntArray())
}
}
}
@@ -23,7 +23,6 @@ import org.jetbrains.kotlin.serialization.deserialization.DeserializedPackageFra
import org.jetbrains.kotlin.serialization.deserialization.NameResolverImpl
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPackageMemberScope
import org.jetbrains.kotlin.storage.StorageManager
import java.io.DataInputStream
import java.io.InputStream
class BuiltinsPackageFragment(
@@ -34,8 +33,7 @@ class BuiltinsPackageFragment(
) : DeserializedPackageFragment(fqName, storageManager, module, BuiltInsSerializedResourcePaths, loadResource) {
private val builtinsMessage = run {
val stream = loadResourceSure(BuiltInsSerializedResourcePaths.getBuiltInsFilePath(fqName))
val dataInput = DataInputStream(stream)
val version = BuiltInsBinaryVersion(*(1..dataInput.readInt()).map { dataInput.readInt() }.toIntArray())
val version = BuiltInsBinaryVersion.readFrom(stream)
if (!version.isCompatible()) {
// TODO: report a proper diagnostic