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) {