From 67699bf17eb5ab83ea48a234f86e0649a0cd8d16 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Mon, 30 Jan 2017 18:27:03 +0300 Subject: [PATCH] Rename metadata version index and its subclasses --- idea/src/META-INF/plugin.xml | 4 ++-- ...biVersionIndex.kt => KotlinJsMetadataVersionIndex.kt} | 6 +++--- ...aVersionIndex.kt => KotlinJvmMetadataVersionIndex.kt} | 8 ++++---- ...ionIndexBase.kt => KotlinMetadataVersionIndexBase.kt} | 4 ++-- .../kotlin/idea/versions/KotlinRuntimeLibraryUtil.kt | 9 ++++----- .../kotlin/idea/versions/KotlinUpdatePluginComponent.kt | 4 ++-- 6 files changed, 17 insertions(+), 18 deletions(-) rename idea/src/org/jetbrains/kotlin/idea/versions/{KotlinJavaScriptAbiVersionIndex.kt => KotlinJsMetadataVersionIndex.kt} (85%) rename idea/src/org/jetbrains/kotlin/idea/versions/{KotlinMetadataVersionIndex.kt => KotlinJvmMetadataVersionIndex.kt} (90%) rename idea/src/org/jetbrains/kotlin/idea/versions/{KotlinAbiVersionIndexBase.kt => KotlinMetadataVersionIndexBase.kt} (93%) diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml index ef9536a42cf..83dd45dfe2c 100644 --- a/idea/src/META-INF/plugin.xml +++ b/idea/src/META-INF/plugin.xml @@ -671,8 +671,8 @@ - - + + diff --git a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinJavaScriptAbiVersionIndex.kt b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinJsMetadataVersionIndex.kt similarity index 85% rename from idea/src/org/jetbrains/kotlin/idea/versions/KotlinJavaScriptAbiVersionIndex.kt rename to idea/src/org/jetbrains/kotlin/idea/versions/KotlinJsMetadataVersionIndex.kt index b59476494bf..5bc218dfb49 100644 --- a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinJavaScriptAbiVersionIndex.kt +++ b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinJsMetadataVersionIndex.kt @@ -26,12 +26,12 @@ import org.jetbrains.kotlin.utils.KotlinJavascriptMetadata import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils import java.util.* -object KotlinJavaScriptAbiVersionIndex : KotlinAbiVersionIndexBase( - KotlinJavaScriptAbiVersionIndex::class.java, ::JsMetadataVersion +object KotlinJsMetadataVersionIndex : KotlinMetadataVersionIndexBase( + KotlinJsMetadataVersionIndex::class.java, ::JsMetadataVersion ) { override fun getIndexer() = INDEXER - override fun getInputFilter() = FileBasedIndex.InputFilter() { file -> JavaScript.EXTENSION == file.extension } + override fun getInputFilter() = FileBasedIndex.InputFilter { file -> JavaScript.EXTENSION == file.extension } override fun getVersion() = VERSION diff --git a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinMetadataVersionIndex.kt b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinJvmMetadataVersionIndex.kt similarity index 90% rename from idea/src/org/jetbrains/kotlin/idea/versions/KotlinMetadataVersionIndex.kt rename to idea/src/org/jetbrains/kotlin/idea/versions/KotlinJvmMetadataVersionIndex.kt index 0a3b0b07730..945c087fb4d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinMetadataVersionIndex.kt +++ b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinJvmMetadataVersionIndex.kt @@ -28,12 +28,12 @@ import org.jetbrains.org.objectweb.asm.ClassReader import org.jetbrains.org.objectweb.asm.ClassVisitor import org.jetbrains.org.objectweb.asm.Opcodes -object KotlinMetadataVersionIndex : KotlinAbiVersionIndexBase( - KotlinMetadataVersionIndex::class.java, { JvmMetadataVersion(*it) } +object KotlinJvmMetadataVersionIndex : KotlinMetadataVersionIndexBase( + KotlinJvmMetadataVersionIndex::class.java, ::JvmMetadataVersion ) { override fun getIndexer() = INDEXER - override fun getInputFilter() = FileBasedIndex.InputFilter() { file -> file.fileType == StdFileTypes.CLASS } + override fun getInputFilter() = FileBasedIndex.InputFilter { file -> file.fileType == StdFileTypes.CLASS } override fun getVersion() = VERSION @@ -45,7 +45,7 @@ object KotlinMetadataVersionIndex : KotlinAbiVersionIndexBase() { inputData: FileContent -> + private val INDEXER = DataIndexer { inputData: FileContent -> var version: JvmMetadataVersion? = null var annotationPresent = false var kind: KotlinClassHeader.Kind? = null diff --git a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinAbiVersionIndexBase.kt b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinMetadataVersionIndexBase.kt similarity index 93% rename from idea/src/org/jetbrains/kotlin/idea/versions/KotlinAbiVersionIndexBase.kt rename to idea/src/org/jetbrains/kotlin/idea/versions/KotlinMetadataVersionIndexBase.kt index b9bc3217306..ed9407bf9f0 100644 --- a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinAbiVersionIndexBase.kt +++ b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinMetadataVersionIndexBase.kt @@ -29,12 +29,12 @@ import java.io.DataOutput /** * Important! This is not a stub-based index. And it has its own version */ -abstract class KotlinAbiVersionIndexBase( +abstract class KotlinMetadataVersionIndexBase( private val classOfIndex: Class, protected val createBinaryVersion: (IntArray) -> V ) : ScalarIndexExtension() { - override fun getName() = ID.create(classOfIndex.canonicalName) + override fun getName(): ID = ID.create(classOfIndex.canonicalName) override fun getKeyDescriptor(): KeyDescriptor = object : KeyDescriptor { override fun isEqual(val1: V, val2: V): Boolean = val1 == val2 diff --git a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinRuntimeLibraryUtil.kt b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinRuntimeLibraryUtil.kt index cf2c1b83e31..b58e9dd8366 100644 --- a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinRuntimeLibraryUtil.kt +++ b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinRuntimeLibraryUtil.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.idea.versions -import com.google.common.collect.Sets import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.module.Module import com.intellij.openapi.module.ModuleManager @@ -63,11 +62,11 @@ import java.io.File import java.io.IOException fun getLibraryRootsWithAbiIncompatibleKotlinClasses(module: Module): Collection> { - return getLibraryRootsWithAbiIncompatibleVersion(module, JvmMetadataVersion.INSTANCE, KotlinMetadataVersionIndex) + return getLibraryRootsWithAbiIncompatibleVersion(module, JvmMetadataVersion.INSTANCE, KotlinJvmMetadataVersionIndex) } fun getLibraryRootsWithAbiIncompatibleForKotlinJs(module: Module): Collection> { - return getLibraryRootsWithAbiIncompatibleVersion(module, JsMetadataVersion.INSTANCE, KotlinJavaScriptAbiVersionIndex) + return getLibraryRootsWithAbiIncompatibleVersion(module, JsMetadataVersion.INSTANCE, KotlinJsMetadataVersionIndex) } fun updateLibraries(project: Project, libraries: Collection) { @@ -259,14 +258,14 @@ private fun getLibraryRootsWithAbiIncompatibleVersion( val allVersions = FileBasedIndex.getInstance().getAllKeys(id, module.project) val badVersions = allVersions.filterNot(BinaryVersion::isCompatible).toHashSet() - val badRoots = Sets.newHashSet>() + val badRoots = hashSetOf>() val fileIndex = ProjectFileIndex.SERVICE.getInstance(module.project) for (version in badVersions) { val indexedFiles = FileBasedIndex.getInstance().getContainingFiles(id, version, moduleWithAllDependentLibraries) for (indexedFile in indexedFiles) { val libraryRoot = fileIndex.getClassRootForFile(indexedFile) ?: - error("Only library roots were requested, and only class files should be indexed with KotlinAbiVersionIndex key. " + + error("Only library roots were requested, and only class files should be indexed with the $id key. " + "File: ${indexedFile.path}") badRoots.add(BinaryVersionedFile(getLocalFile(libraryRoot), version, supportedVersion)) } diff --git a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinUpdatePluginComponent.kt b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinUpdatePluginComponent.kt index 4c0d957eb92..0f2d80c9d58 100644 --- a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinUpdatePluginComponent.kt +++ b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinUpdatePluginComponent.kt @@ -58,8 +58,8 @@ class KotlinUpdatePluginComponent : ApplicationComponent { // Force update indices for files under config directory val fileBasedIndex = FileBasedIndex.getInstance() - fileBasedIndex.requestRebuild(KotlinMetadataVersionIndex.name) - fileBasedIndex.requestRebuild(KotlinJavaScriptAbiVersionIndex.name) + fileBasedIndex.requestRebuild(KotlinJvmMetadataVersionIndex.name) + fileBasedIndex.requestRebuild(KotlinJsMetadataVersionIndex.name) fileBasedIndex.requestRebuild(KotlinClassFileIndex.KEY) fileBasedIndex.requestRebuild(KotlinJavaScriptMetaFileIndex.KEY) fileBasedIndex.requestRebuild(KotlinMetadataFileIndex.KEY)