From cb490dbe4f61df33bfcceeeedc183de5681ed2e9 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 17 Feb 2016 15:52:44 +0300 Subject: [PATCH] Minor, add BuiltInsBinaryVersion.readFrom(InputStream) --- .../org/jetbrains/kotlin/builtins/BuiltInsBinaryVersion.kt | 7 +++++++ .../jetbrains/kotlin/builtins/BuiltinsPackageFragment.kt | 4 +--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/BuiltInsBinaryVersion.kt b/core/descriptors/src/org/jetbrains/kotlin/builtins/BuiltInsBinaryVersion.kt index c5c2f56a9a1..896af1a7dc0 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/BuiltInsBinaryVersion.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/BuiltInsBinaryVersion.kt @@ -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()) + } } } diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/BuiltinsPackageFragment.kt b/core/descriptors/src/org/jetbrains/kotlin/builtins/BuiltinsPackageFragment.kt index 9da4a203f1c..f1b0fe28836 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/BuiltinsPackageFragment.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/BuiltinsPackageFragment.kt @@ -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