From f72dd751274722f08ae4fa50ba26c26a7d750307 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 16 May 2017 16:24:19 +0200 Subject: [PATCH] Use provided file content in KotlinJsMetadataVersionIndex #KT-17821 Fixed --- .../jetbrains/kotlin/utils/KotlinJavascriptMetadataUtils.kt | 2 +- .../kotlin/idea/versions/KotlinJsMetadataVersionIndex.kt | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/compiler/util/src/org/jetbrains/kotlin/utils/KotlinJavascriptMetadataUtils.kt b/compiler/util/src/org/jetbrains/kotlin/utils/KotlinJavascriptMetadataUtils.kt index ecc951a6c3b..2bccd6baf94 100644 --- a/compiler/util/src/org/jetbrains/kotlin/utils/KotlinJavascriptMetadataUtils.kt +++ b/compiler/util/src/org/jetbrains/kotlin/utils/KotlinJavascriptMetadataUtils.kt @@ -89,7 +89,7 @@ object KotlinJavascriptMetadataUtils { fun loadMetadata(path: String): List = loadMetadata(File(path)) @JvmStatic - fun parseMetadata(text: String, metadataList: MutableList) { + fun parseMetadata(text: CharSequence, metadataList: MutableList) { // Check for literal pattern first in order to reduce time for large files without metadata if (!KOTLIN_JAVASCRIPT_METHOD_NAME_PATTERN.matcher(text).find()) return diff --git a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinJsMetadataVersionIndex.kt b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinJsMetadataVersionIndex.kt index 5bc218dfb49..278e3b50e7a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinJsMetadataVersionIndex.kt +++ b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinJsMetadataVersionIndex.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.idea.versions -import com.intellij.openapi.vfs.VfsUtilCore import com.intellij.util.indexing.DataIndexer import com.intellij.util.indexing.FileBasedIndex import com.intellij.util.indexing.FileContent @@ -41,9 +40,8 @@ object KotlinJsMetadataVersionIndex : KotlinMetadataVersionIndexBase() tryBlock(inputData) { - val text = VfsUtilCore.loadText(inputData.file) val metadataList = ArrayList() - KotlinJavascriptMetadataUtils.parseMetadata(text, metadataList) + KotlinJavascriptMetadataUtils.parseMetadata(inputData.contentAsText, metadataList) for (metadata in metadataList) { val version = metadata.version.takeIf { it.isCompatible() } // Version is set to something weird