From 5825da8433f4c9bb7a7415e510214dc89560809c Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Fri, 12 Apr 2019 20:26:55 +0300 Subject: [PATCH] Fix binary compatibility with Android plugin (KT-30978) --- .../jetbrains/kotlin/idea/core/KotlinIndicesHelper.kt | 2 +- .../core/extension/KotlinIndicesHelperExtension.kt | 11 +++++++++++ .../DebuggerFieldKotlinIndicesHelperExtension.kt | 10 ++++++++++ .../synthetic/idea/AndroidIndicesHelperExtension.kt | 9 +++++++++ 4 files changed, 31 insertions(+), 1 deletion(-) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinIndicesHelper.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinIndicesHelper.kt index a704d9a789c..a10c00b21e5 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinIndicesHelper.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinIndicesHelper.kt @@ -171,7 +171,7 @@ class KotlinIndicesHelper( val additionalDescriptors = ArrayList(0) val lookupLocation = this.file?.let { KotlinLookupLocation(it) } ?: NoLookupLocation.FROM_IDE - for (extension in KotlinIndicesHelperExtension.getInstances(project)) { + for (extension in @Suppress("DEPRECATION") KotlinIndicesHelperExtension.getInstances(project)) { extension.appendExtensionCallables(additionalDescriptors, moduleDescriptor, receiverTypes, nameFilter, lookupLocation) } diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/extension/KotlinIndicesHelperExtension.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/extension/KotlinIndicesHelperExtension.kt index fe755a0d0e1..4bf6d478c39 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/extension/KotlinIndicesHelperExtension.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/extension/KotlinIndicesHelperExtension.kt @@ -27,11 +27,22 @@ interface KotlinIndicesHelperExtension { "org.jetbrains.kotlin.kotlinIndicesHelperExtension", KotlinIndicesHelperExtension::class.java ) + @JvmDefault fun appendExtensionCallables( consumer: MutableList, moduleDescriptor: ModuleDescriptor, receiverTypes: Collection, nameFilter: (String) -> Boolean, lookupLocation: LookupLocation + ) { + appendExtensionCallables(consumer, moduleDescriptor, receiverTypes, nameFilter) + } + + @Deprecated("Use the appendExtensionCallables() with the 'file' parameter instead.") + fun appendExtensionCallables( + consumer: MutableList, + moduleDescriptor: ModuleDescriptor, + receiverTypes: Collection, + nameFilter: (String) -> Boolean ) } \ No newline at end of file diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/evaluate/DebuggerFieldKotlinIndicesHelperExtension.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/evaluate/DebuggerFieldKotlinIndicesHelperExtension.kt index d94e27ebe96..28adceabd9c 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/evaluate/DebuggerFieldKotlinIndicesHelperExtension.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/evaluate/DebuggerFieldKotlinIndicesHelperExtension.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.storage.LockBasedStorageManager import org.jetbrains.kotlin.synthetic.JavaSyntheticPropertiesScope import org.jetbrains.kotlin.types.KotlinType +import java.lang.IllegalStateException class DebuggerFieldKotlinIndicesHelperExtension : KotlinIndicesHelperExtension { override fun appendExtensionCallables( @@ -31,4 +32,13 @@ class DebuggerFieldKotlinIndicesHelperExtension : KotlinIndicesHelperExtension { } } } + + override fun appendExtensionCallables( + consumer: MutableList, + moduleDescriptor: ModuleDescriptor, + receiverTypes: Collection, + nameFilter: (String) -> Boolean + ) { + throw IllegalStateException("Should not be called") + } } \ No newline at end of file diff --git a/plugins/android-extensions/android-extensions-idea/src/org/jetbrains/kotlin/android/synthetic/idea/AndroidIndicesHelperExtension.kt b/plugins/android-extensions/android-extensions-idea/src/org/jetbrains/kotlin/android/synthetic/idea/AndroidIndicesHelperExtension.kt index 9486425579a..f2906a8288b 100644 --- a/plugins/android-extensions/android-extensions-idea/src/org/jetbrains/kotlin/android/synthetic/idea/AndroidIndicesHelperExtension.kt +++ b/plugins/android-extensions/android-extensions-idea/src/org/jetbrains/kotlin/android/synthetic/idea/AndroidIndicesHelperExtension.kt @@ -56,4 +56,13 @@ class AndroidIndicesHelperExtension : KotlinIndicesHelperExtension { } } } + + override fun appendExtensionCallables( + consumer: MutableList, + moduleDescriptor: ModuleDescriptor, + receiverTypes: Collection, + nameFilter: (String) -> Boolean + ) { + throw IllegalStateException("Should not be called") + } } \ No newline at end of file