Use provided file content in KotlinJsMetadataVersionIndex
#KT-17821 Fixed
This commit is contained in:
@@ -89,7 +89,7 @@ object KotlinJavascriptMetadataUtils {
|
|||||||
fun loadMetadata(path: String): List<KotlinJavascriptMetadata> = loadMetadata(File(path))
|
fun loadMetadata(path: String): List<KotlinJavascriptMetadata> = loadMetadata(File(path))
|
||||||
|
|
||||||
@JvmStatic
|
@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
|
// 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
|
if (!KOTLIN_JAVASCRIPT_METHOD_NAME_PATTERN.matcher(text).find()) return
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.versions
|
package org.jetbrains.kotlin.idea.versions
|
||||||
|
|
||||||
import com.intellij.openapi.vfs.VfsUtilCore
|
|
||||||
import com.intellij.util.indexing.DataIndexer
|
import com.intellij.util.indexing.DataIndexer
|
||||||
import com.intellij.util.indexing.FileBasedIndex
|
import com.intellij.util.indexing.FileBasedIndex
|
||||||
import com.intellij.util.indexing.FileContent
|
import com.intellij.util.indexing.FileContent
|
||||||
@@ -41,9 +40,8 @@ object KotlinJsMetadataVersionIndex : KotlinMetadataVersionIndexBase<KotlinJsMet
|
|||||||
val result = HashMap<JsMetadataVersion, Void?>()
|
val result = HashMap<JsMetadataVersion, Void?>()
|
||||||
|
|
||||||
tryBlock(inputData) {
|
tryBlock(inputData) {
|
||||||
val text = VfsUtilCore.loadText(inputData.file)
|
|
||||||
val metadataList = ArrayList<KotlinJavascriptMetadata>()
|
val metadataList = ArrayList<KotlinJavascriptMetadata>()
|
||||||
KotlinJavascriptMetadataUtils.parseMetadata(text, metadataList)
|
KotlinJavascriptMetadataUtils.parseMetadata(inputData.contentAsText, metadataList)
|
||||||
for (metadata in metadataList) {
|
for (metadata in metadataList) {
|
||||||
val version = metadata.version.takeIf { it.isCompatible() }
|
val version = metadata.version.takeIf { it.isCompatible() }
|
||||||
// Version is set to something weird
|
// Version is set to something weird
|
||||||
|
|||||||
Reference in New Issue
Block a user