From e5a40c2f9a0433ea79a4168b0755aac67c6a91ac Mon Sep 17 00:00:00 2001 From: Dmitry Kandalov Date: Tue, 10 Sep 2024 12:39:36 +0100 Subject: [PATCH] fixed IJ plugin dev inspection warnings --- .../implementation/common/ide-util.kt | 2 +- .../implementation/ide-extensions.kt | 21 +++++++------------ 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/src/main/liveplugin/implementation/common/ide-util.kt b/src/main/liveplugin/implementation/common/ide-util.kt index 52ea336a..36548122 100644 --- a/src/main/liveplugin/implementation/common/ide-util.kt +++ b/src/main/liveplugin/implementation/common/ide-util.kt @@ -232,7 +232,7 @@ fun AnActionEvent.selectedFiles(): List = dataContext.getData(CommonDataKeys.VIRTUAL_FILE_ARRAY)?.map { it.toFilePath() } ?: emptyList() @Suppress("UnstableApiUsage") -class MapDataContext(val map: Map) : DataContext, AsyncDataContext { +class MapDataContext(val map: Map) : AsyncDataContext { override fun getData(dataId: String) = map[dataId] } diff --git a/src/main/liveplugin/implementation/ide-extensions.kt b/src/main/liveplugin/implementation/ide-extensions.kt index 1ed5ebf5..3348e764 100644 --- a/src/main/liveplugin/implementation/ide-extensions.kt +++ b/src/main/liveplugin/implementation/ide-extensions.kt @@ -41,14 +41,12 @@ import org.jetbrains.jps.model.module.UnknownSourceRootType // but it's also used for enabling Kotlin intentions in live plugin, i.e. outside of project // (since change in IJ 2022.1: Anna Kozlova* 22/12/2021, 17:21 [kotlin] disable intentions which modifies code in libraries (KTIJ-20543)) class ScratchLivePluginRootType : RootType("LivePlugin", "Live Plugins") { + init { + System.setProperty(PathManager.PROPERTY_SCRATCH_PATH + "/LivePlugin", livePluginsPath.value) + } + override fun substituteIcon(project: Project, file: VirtualFile) = if (file.toFilePath().isPluginFolder()) pluginIcon else super.substituteIcon(project, file) - - companion object { - init { - System.setProperty(PathManager.PROPERTY_SCRATCH_PATH + "/LivePlugin", livePluginsPath.value) - } - } } class LivePluginDeletedListener : BulkFileListener { @@ -107,7 +105,10 @@ object FindUsageInLivePlugin { class UseScopeExtension : UseScopeEnlarger() { override fun getAdditionalUseScope(element: PsiElement): SearchScope? = - if (element.useScope is LocalSearchScope) null else SCOPE_KEY.getValue(element.project) + if (element.useScope is LocalSearchScope) null else scopeKey.getValue(element.project) + + private val scopeKey: NotNullLazyKey = + NotNullLazyKey.createLazyKey("LIVEPLUGIN_SEARCH_SCOPE_KEY") { project -> LivePluginsSearchScope(project) } private class LivePluginsSearchScope(project: Project) : GlobalSearchScope(project) { override fun getDisplayName() = "LivePlugins" @@ -115,11 +116,5 @@ object FindUsageInLivePlugin { override fun isSearchInModuleContent(aModule: Module) = false override fun isSearchInLibraries() = false } - - companion object { - private val SCOPE_KEY = NotNullLazyKey.createLazyKey("LIVEPLUGIN_SEARCH_SCOPE_KEY") { project -> - LivePluginsSearchScope(project) - } - } } }