Use provided file content in KotlinJsMetadataVersionIndex

#KT-17821 Fixed
This commit is contained in:
Dmitry Jemerov
2017-05-16 16:24:19 +02:00
parent af043843b7
commit f72dd75127
2 changed files with 2 additions and 4 deletions

View File

@@ -89,7 +89,7 @@ object KotlinJavascriptMetadataUtils {
fun loadMetadata(path: String): List<KotlinJavascriptMetadata> = loadMetadata(File(path))
@JvmStatic
fun parseMetadata(text: String, metadataList: MutableList<KotlinJavascriptMetadata>) {
fun parseMetadata(text: CharSequence, metadataList: MutableList<KotlinJavascriptMetadata>) {
// 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

View File

@@ -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<KotlinJsMet
val result = HashMap<JsMetadataVersion, Void?>()
tryBlock(inputData) {
val text = VfsUtilCore.loadText(inputData.file)
val metadataList = ArrayList<KotlinJavascriptMetadata>()
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