Minor, add BuiltInsBinaryVersion.readFrom(InputStream)
This commit is contained in:
committed by
Alexander Udalov
parent
c81d76414f
commit
cb490dbe4f
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user