From c4bb445c01c00562d37e464592892f4f74807a8d Mon Sep 17 00:00:00 2001 From: Alexander Korepanov Date: Wed, 6 Apr 2022 15:44:54 +0300 Subject: [PATCH] [JS IR] IC close input streams ^KT-51853 Fixed --- .../org/jetbrains/kotlin/ir/backend/js/ic/ArtifactCache.kt | 4 +++- .../src/org/jetbrains/kotlin/ir/backend/js/ic/fileUtils.kt | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/ArtifactCache.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/ArtifactCache.kt index 0a056247a85..1fad8780d21 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/ArtifactCache.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/ArtifactCache.kt @@ -18,7 +18,9 @@ class SrcFileArtifact(val srcFilePath: String, private val fragment: JsIrProgram return fragment } return astArtifact?.ifExists { readBytes() }?.let { - deserializer.deserialize(ByteArrayInputStream(it)) + ByteArrayInputStream(it).use { byteStream -> + deserializer.deserialize(byteStream) + } } } diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/fileUtils.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/fileUtils.kt index 866dd771e04..b83cf0d98dd 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/fileUtils.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/fileUtils.kt @@ -21,7 +21,9 @@ internal fun File.recreate() { } internal inline fun File.useCodedInputIfExists(f: CodedInputStream.() -> T) = ifExists { - CodedInputStream.newInstance(FileInputStream(this)).f() + FileInputStream(this).use { + CodedInputStream.newInstance(it).f() + } } internal inline fun File.useCodedOutput(f: CodedOutputStream.() -> Unit) {