From 7474f1dc562201c3fd153480b4d6a763306e70c2 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 7 Sep 2018 20:49:18 +0300 Subject: [PATCH] Minor, refactor KotlinMetadataVersionIndexBase.createBinaryVersion Make it a protected method instead of a property passed in the constructor --- .../versions/KotlinJsMetadataVersionIndex.kt | 9 ++++++--- .../versions/KotlinJvmMetadataVersionIndex.kt | 6 ++++-- .../versions/KotlinMetadataVersionIndexBase.kt | 17 +++++++---------- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinJsMetadataVersionIndex.kt b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinJsMetadataVersionIndex.kt index 717e43f6fa6..348fe3839fd 100644 --- a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinJsMetadataVersionIndex.kt +++ b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinJsMetadataVersionIndex.kt @@ -26,8 +26,11 @@ import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils import java.util.* object KotlinJsMetadataVersionIndex : KotlinMetadataVersionIndexBase( - KotlinJsMetadataVersionIndex::class.java, { version, _ -> JsMetadataVersion(*version) } + KotlinJsMetadataVersionIndex::class.java ) { + override fun createBinaryVersion(versionArray: IntArray, extraBoolean: Boolean?): JsMetadataVersion = + JsMetadataVersion(*versionArray) + override fun getIndexer() = INDEXER override fun getInputFilter() = FileBasedIndex.InputFilter { file -> JavaScript.EXTENSION == file.extension } @@ -44,8 +47,8 @@ object KotlinJsMetadataVersionIndex : KotlinMetadataVersionIndexBase( - KotlinJvmMetadataVersionIndex::class.java, - { version, isStrictSemantics -> JvmMetadataVersion(version, isStrictSemantics = isStrictSemantics!!) } + KotlinJvmMetadataVersionIndex::class.java ) { + override fun createBinaryVersion(versionArray: IntArray, extraBoolean: Boolean?): JvmMetadataVersion = + JvmMetadataVersion(versionArray, isStrictSemantics = extraBoolean!!) + override fun getIndexer() = INDEXER override fun getInputFilter() = FileBasedIndex.InputFilter { file -> file.fileType == StdFileTypes.CLASS } diff --git a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinMetadataVersionIndexBase.kt b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinMetadataVersionIndexBase.kt index ce3c9ceb524..8ffa16eaaab 100644 --- a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinMetadataVersionIndexBase.kt +++ b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinMetadataVersionIndexBase.kt @@ -29,11 +29,7 @@ import java.io.DataOutput /** * Important! This is not a stub-based index. And it has its own version */ -abstract class KotlinMetadataVersionIndexBase( - private val classOfIndex: Class, - protected val createBinaryVersion: (IntArray, Boolean?) -> V -) : ScalarIndexExtension() { - +abstract class KotlinMetadataVersionIndexBase(private val classOfIndex: Class) : ScalarIndexExtension() { override fun getName(): ID = ID.create(classOfIndex.canonicalName) override fun getKeyDescriptor(): KeyDescriptor = object : KeyDescriptor { @@ -43,7 +39,7 @@ abstract class KotlinMetadataVersionIndexBase( override fun read(input: DataInput): V { val size = DataInputOutputUtil.readINT(input) - val versionArray = (0..size - 1).map { DataInputOutputUtil.readINT(input) }.toIntArray() + val versionArray = (0 until size).map { DataInputOutputUtil.readINT(input) }.toIntArray() val extraBoolean = if (isExtraBooleanNeeded()) DataInputOutputUtil.readINT(input) == 1 else null return createBinaryVersion(versionArray, extraBoolean) } @@ -62,17 +58,18 @@ abstract class KotlinMetadataVersionIndexBase( override fun dependsOnFileContent() = true + protected abstract fun createBinaryVersion(versionArray: IntArray, extraBoolean: Boolean?): V + protected open fun isExtraBooleanNeeded(): Boolean = false protected open fun getExtraBoolean(version: V): Boolean = throw UnsupportedOperationException() - protected val LOG: Logger = Logger.getInstance(classOfIndex) + protected val log: Logger = Logger.getInstance(classOfIndex) protected inline fun tryBlock(inputData: FileContent, body: () -> Unit) { try { body() - } - catch (e: Throwable) { - LOG.warn("Could not index ABI version for file " + inputData.file + ": " + e.message) + } catch (e: Throwable) { + log.warn("Could not index ABI version for file " + inputData.file + ": " + e.message) } } }