From 48c0fb2ba954fff8231dcaa6a6ab8d3ec1b755c3 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Tue, 23 Oct 2018 18:41:24 +0300 Subject: [PATCH] Remove deprecated AbstractProjectComponent --- .../ProjectRootModificationTrackerFixer.kt | 9 ++++----- .../KotlinBeforeResolveHighlightingPass.kt | 5 ++--- .../ScriptExternalHighlightingPass.kt | 5 ++--- .../idea/completion/LookupCancelWatcher.kt | 13 +++++++----- .../ui/KotlinConfigurationCheckerComponent.kt | 20 +++++++++---------- .../scratch/ScratchFileModuleInfoProvider.kt | 16 +++++++-------- .../kotlin/idea/scratch/ui/ScratchFileHook.kt | 12 +++++------ .../cutPaste/MoveDeclarationsPassFactory.kt | 6 +++--- 8 files changed, 43 insertions(+), 43 deletions(-) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/ProjectRootModificationTrackerFixer.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/ProjectRootModificationTrackerFixer.kt index ace5cd5d230..8b42b077def 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/ProjectRootModificationTrackerFixer.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/ProjectRootModificationTrackerFixer.kt @@ -6,23 +6,22 @@ package org.jetbrains.kotlin.idea.caches import com.intellij.ProjectTopics -import com.intellij.openapi.components.AbstractProjectComponent +import com.intellij.openapi.components.ProjectComponent import com.intellij.openapi.project.Project import com.intellij.openapi.roots.ModuleRootEvent import com.intellij.openapi.roots.ModuleRootListener import com.intellij.openapi.roots.ProjectRootManager // This is a workaround until IDEA-200525 is fixed. -class ProjectRootModificationTrackerFixer(project: Project) : AbstractProjectComponent(project) { - +class ProjectRootModificationTrackerFixer(val project: Project) : ProjectComponent { override fun initComponent() { - myProject.messageBus.connect(myProject).subscribe( + project.messageBus.connect(project).subscribe( ProjectTopics.PROJECT_ROOTS, object : ModuleRootListener { override fun rootsChanged(event: ModuleRootEvent) { // Forcefully increment modification counter. This would cause invalidation of // all caches that depend on ProjectRootModificationTracker tracker. - ProjectRootManager.getInstance(myProject).incModificationCount() + ProjectRootManager.getInstance(project).incModificationCount() } } ) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinBeforeResolveHighlightingPass.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinBeforeResolveHighlightingPass.kt index b8f2be0f3b1..6c886f8b315 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinBeforeResolveHighlightingPass.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinBeforeResolveHighlightingPass.kt @@ -24,12 +24,11 @@ import com.intellij.codeInsight.daemon.impl.AnnotationHolderImpl import com.intellij.codeInsight.daemon.impl.HighlightInfo import com.intellij.codeInsight.daemon.impl.UpdateHighlightersUtil import com.intellij.lang.annotation.AnnotationSession -import com.intellij.openapi.components.AbstractProjectComponent +import com.intellij.openapi.components.ProjectComponent import com.intellij.openapi.editor.Document import com.intellij.openapi.editor.Editor import com.intellij.openapi.progress.ProgressIndicator import com.intellij.openapi.project.DumbAware -import com.intellij.openapi.project.Project import com.intellij.psi.PsiElement import com.intellij.psi.PsiFile import com.intellij.psi.PsiRecursiveElementVisitor @@ -63,7 +62,7 @@ class KotlinBeforeResolveHighlightingPass( annotationHolder = null } - class Factory(project: Project, registrar: TextEditorHighlightingPassRegistrar) : AbstractProjectComponent(project), TextEditorHighlightingPassFactory { + class Factory(registrar: TextEditorHighlightingPassRegistrar) : ProjectComponent, TextEditorHighlightingPassFactory { init { registrar.registerTextEditorHighlightingPass(this, TextEditorHighlightingPassRegistrar.Anchor.BEFORE, Pass.UPDATE_FOLDING, false, false) } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/ScriptExternalHighlightingPass.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/ScriptExternalHighlightingPass.kt index f10f6cdc1ef..f4de806efd5 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/ScriptExternalHighlightingPass.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/ScriptExternalHighlightingPass.kt @@ -26,12 +26,11 @@ import com.intellij.lang.annotation.Annotation import com.intellij.lang.annotation.HighlightSeverity import com.intellij.lang.annotation.HighlightSeverity.* import com.intellij.openapi.application.ApplicationManager -import com.intellij.openapi.components.AbstractProjectComponent +import com.intellij.openapi.components.ProjectComponent import com.intellij.openapi.editor.Document import com.intellij.openapi.editor.Editor import com.intellij.openapi.progress.ProgressIndicator import com.intellij.openapi.project.DumbAware -import com.intellij.openapi.project.Project import com.intellij.psi.PsiFile import org.jetbrains.kotlin.idea.core.script.IdeScriptReportSink import org.jetbrains.kotlin.psi.KtFile @@ -97,7 +96,7 @@ class ScriptExternalHighlightingPass( } } - class Factory(project: Project, registrar: TextEditorHighlightingPassRegistrar) : AbstractProjectComponent(project), + class Factory(registrar: TextEditorHighlightingPassRegistrar) : ProjectComponent, TextEditorHighlightingPassFactory { init { registrar.registerTextEditorHighlightingPass( diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/LookupCancelWatcher.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/LookupCancelWatcher.kt index aa54edea512..eda61202f96 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/LookupCancelWatcher.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/LookupCancelWatcher.kt @@ -17,19 +17,22 @@ package org.jetbrains.kotlin.idea.completion import com.intellij.codeInsight.lookup.Lookup -import com.intellij.codeInsight.lookup.LookupAdapter import com.intellij.codeInsight.lookup.LookupEvent +import com.intellij.codeInsight.lookup.LookupListener import com.intellij.codeInsight.lookup.LookupManager import com.intellij.openapi.application.ApplicationManager -import com.intellij.openapi.components.AbstractProjectComponent +import com.intellij.openapi.components.ProjectComponent import com.intellij.openapi.editor.Editor import com.intellij.openapi.editor.EditorFactory import com.intellij.openapi.editor.RangeMarker -import com.intellij.openapi.editor.event.* +import com.intellij.openapi.editor.event.CaretEvent +import com.intellij.openapi.editor.event.CaretListener +import com.intellij.openapi.editor.event.EditorFactoryEvent +import com.intellij.openapi.editor.event.EditorFactoryListener import com.intellij.openapi.project.Project import com.intellij.openapi.util.Key -class LookupCancelWatcher(project: Project) : AbstractProjectComponent(project) { +class LookupCancelWatcher(val project: Project) : ProjectComponent { private class Reminiscence(editor: Editor, offset: Int) { var editor: Editor? = editor private var marker: RangeMarker? = editor.document.createRangeMarker(offset, offset) @@ -101,7 +104,7 @@ class LookupCancelWatcher(project: Project) : AbstractProjectComponent(project) }, myProject) - LookupManager.getInstance(myProject).addPropertyChangeListener { event -> + LookupManager.getInstance(project).addPropertyChangeListener { event -> if (event.propertyName == LookupManager.PROP_ACTIVE_LOOKUP) { (event.newValue as Lookup?)?.addLookupListener(lookupCancelListener) } diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/ui/KotlinConfigurationCheckerComponent.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/ui/KotlinConfigurationCheckerComponent.kt index d3b1aa65dd2..0cb1e3e64bb 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/ui/KotlinConfigurationCheckerComponent.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/ui/KotlinConfigurationCheckerComponent.kt @@ -20,7 +20,7 @@ import com.intellij.ProjectTopics import com.intellij.notification.NotificationDisplayType import com.intellij.notification.NotificationsConfiguration import com.intellij.openapi.application.ApplicationManager -import com.intellij.openapi.components.AbstractProjectComponent +import com.intellij.openapi.components.ProjectComponent import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataImportListener import com.intellij.openapi.project.DumbService import com.intellij.openapi.project.Project @@ -37,7 +37,7 @@ import org.jetbrains.kotlin.idea.versions.collectModulesWithOutdatedRuntime import org.jetbrains.kotlin.idea.versions.findOutdatedKotlinLibraries import java.util.concurrent.atomic.AtomicInteger -class KotlinConfigurationCheckerComponent(project: Project) : AbstractProjectComponent(project) { +class KotlinConfigurationCheckerComponent(val project: Project) : ProjectComponent { private val syncDepth = AtomicInteger() @Volatile @@ -54,12 +54,12 @@ class KotlinConfigurationCheckerComponent(project: Project) : AbstractProjectCom if (notificationPostponed && !isSyncing) { ApplicationManager.getApplication().executeOnPooledThread { - DumbService.getInstance(myProject).waitForSmartMode() + DumbService.getInstance(project).waitForSmartMode() if (!isSyncing) { notificationPostponed = false showConfigureKotlinNotificationIfNeeded( - myProject, - collectModulesWithOutdatedRuntime(findOutdatedKotlinLibraries(myProject)) + project, + collectModulesWithOutdatedRuntime(findOutdatedKotlinLibraries(project)) ) } } @@ -79,23 +79,23 @@ class KotlinConfigurationCheckerComponent(project: Project) : AbstractProjectCom override fun projectOpened() { super.projectOpened() - StartupManager.getInstance(myProject).registerPostStartupActivity { + StartupManager.getInstance(project).registerPostStartupActivity { performProjectPostOpenActions() } } fun performProjectPostOpenActions() { ApplicationManager.getApplication().executeOnPooledThread { - DumbService.getInstance(myProject).waitForSmartMode() + DumbService.getInstance(project).waitForSmartMode() - for (module in getModulesWithKotlinFiles(myProject)) { + for (module in getModulesWithKotlinFiles(project)) { module.getAndCacheLanguageLevelByDependencies() } if (!isSyncing) { - val libraries = findOutdatedKotlinLibraries(myProject) + val libraries = findOutdatedKotlinLibraries(project) val excludeModules = collectModulesWithOutdatedRuntime(libraries) - showConfigureKotlinNotificationIfNeeded(myProject, excludeModules) + showConfigureKotlinNotificationIfNeeded(project, excludeModules) } else { notificationPostponed = true } diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ScratchFileModuleInfoProvider.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ScratchFileModuleInfoProvider.kt index 9ee316c985b..52f58ece139 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ScratchFileModuleInfoProvider.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ScratchFileModuleInfoProvider.kt @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.idea.scratch import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer import com.intellij.ide.scratch.ScratchFileService -import com.intellij.openapi.components.AbstractProjectComponent +import com.intellij.openapi.components.ProjectComponent import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.fileEditor.FileEditorManager import com.intellij.openapi.fileEditor.FileEditorManagerListener @@ -34,11 +34,11 @@ import org.jetbrains.kotlin.parsing.KotlinParserDefinition.Companion.STD_SCRIPT_ import org.jetbrains.kotlin.parsing.KotlinParserDefinition.Companion.STD_SCRIPT_SUFFIX import org.jetbrains.kotlin.psi.KtFile -class ScratchFileModuleInfoProvider(project: Project) : AbstractProjectComponent(project) { +class ScratchFileModuleInfoProvider(val project: Project) : ProjectComponent { private val LOG = Logger.getInstance(this.javaClass) override fun projectOpened() { - myProject.messageBus.connect(myProject).subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, ScratchFileModuleListener()) + project.messageBus.connect(project).subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, ScratchFileModuleListener()) } private inner class ScratchFileModuleListener : FileEditorManagerListener { @@ -46,7 +46,7 @@ class ScratchFileModuleInfoProvider(project: Project) : AbstractProjectComponent if (!file.isValid) return if (!ScratchFileService.isInScratchRoot(file)) return - val ktFile = PsiManager.getInstance(myProject).findFile(file) as? KtFile ?: return + val ktFile = PsiManager.getInstance(project).findFile(file) as? KtFile ?: return // Hack before api in IDEA will be introduced if (file.extension == KotlinFileType.EXTENSION) { @@ -71,16 +71,16 @@ class ScratchFileModuleInfoProvider(project: Project) : AbstractProjectComponent psiFile.virtualFile.scriptRelatedModuleName = module.name // Drop caches for old module - ScriptDependenciesModificationTracker.getInstance(myProject).incModificationCount() + ScriptDependenciesModificationTracker.getInstance(project).incModificationCount() // Force re-highlighting - DaemonCodeAnalyzer.getInstance(myProject).restart(psiFile) + DaemonCodeAnalyzer.getInstance(project).restart(psiFile) } - val module = ktFile.virtualFile.scriptRelatedModuleName?.let { ModuleManager.getInstance(myProject).findModuleByName(it) } + val module = ktFile.virtualFile.scriptRelatedModuleName?.let { ModuleManager.getInstance(project).findModuleByName(it) } if (module != null) { scratchPanel?.setModule(module) } else { - val firstModule = ModuleManager.getInstance(myProject).modules.firstOrNull() + val firstModule = ModuleManager.getInstance(project).modules.firstOrNull() if (firstModule != null) { scratchPanel?.setModule(firstModule) } diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchFileHook.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchFileHook.kt index 66f647acf25..3304490fc3d 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchFileHook.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchFileHook.kt @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.idea.scratch.ui import com.intellij.ide.scratch.ScratchFileService import com.intellij.ide.scratch.ScratchRootType -import com.intellij.openapi.components.AbstractProjectComponent +import com.intellij.openapi.components.ProjectComponent import com.intellij.openapi.fileEditor.FileEditorManager import com.intellij.openapi.fileEditor.FileEditorManagerListener import com.intellij.openapi.project.Project @@ -29,14 +29,14 @@ import org.jetbrains.kotlin.idea.scratch.getAllEditorsWithScratchPanel import org.jetbrains.kotlin.idea.scratch.getEditorWithoutScratchPanel import org.jetbrains.kotlin.idea.scratch.removeScratchPanel -class ScratchFileHook(project: Project) : AbstractProjectComponent(project) { +class ScratchFileHook(val project: Project) : ProjectComponent { override fun projectOpened() { - myProject.messageBus.connect(myProject).subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, ScratchEditorListener()) + project.messageBus.connect(project).subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, ScratchEditorListener()) } override fun projectClosed() { - getAllEditorsWithScratchPanel(myProject).forEach { (editor, panel) -> editor.removeScratchPanel(panel) } + getAllEditorsWithScratchPanel(project).forEach { (editor, panel) -> editor.removeScratchPanel(panel) } } private inner class ScratchEditorListener : FileEditorManagerListener { @@ -45,7 +45,7 @@ class ScratchFileHook(project: Project) : AbstractProjectComponent(project) { val editor = getEditorWithoutScratchPanel(source, file) ?: return - ScratchTopPanel.createPanel(myProject, file, editor) + ScratchTopPanel.createPanel(project, file, editor) } override fun fileClosed(source: FileEditorManager, file: VirtualFile) {} @@ -54,7 +54,7 @@ class ScratchFileHook(project: Project) : AbstractProjectComponent(project) { private fun isPluggable(file: VirtualFile): Boolean { if (!file.isValid) return false if (ScratchFileService.getInstance().getRootType(file) !is ScratchRootType) return false - val psiFile = PsiManager.getInstance(myProject).findFile(file) ?: return false + val psiFile = PsiManager.getInstance(project).findFile(file) ?: return false return ScratchFileLanguageProvider.get(psiFile.fileType) != null } } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/cutPaste/MoveDeclarationsPassFactory.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/cutPaste/MoveDeclarationsPassFactory.kt index 60e1e5f46b5..07f5c47c43f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/cutPaste/MoveDeclarationsPassFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/cutPaste/MoveDeclarationsPassFactory.kt @@ -24,7 +24,7 @@ import com.intellij.codeInsight.daemon.impl.HighlightInfo import com.intellij.codeInsight.daemon.impl.HighlightInfoType import com.intellij.codeInsight.daemon.impl.UpdateHighlightersUtil import com.intellij.codeInsight.daemon.impl.quickfix.QuickFixAction -import com.intellij.openapi.components.AbstractProjectComponent +import com.intellij.openapi.components.ProjectComponent import com.intellij.openapi.editor.Editor import com.intellij.openapi.progress.ProgressIndicator import com.intellij.openapi.project.Project @@ -32,8 +32,8 @@ import com.intellij.psi.PsiFile import com.intellij.psi.util.PsiModificationTracker import org.jetbrains.kotlin.idea.conversion.copy.range -class MoveDeclarationsPassFactory(project: Project, highlightingPassRegistrar: TextEditorHighlightingPassRegistrar) - : AbstractProjectComponent(project), TextEditorHighlightingPassFactory { +class MoveDeclarationsPassFactory(highlightingPassRegistrar: TextEditorHighlightingPassRegistrar) + : ProjectComponent, TextEditorHighlightingPassFactory { init { highlightingPassRegistrar.registerTextEditorHighlightingPass(this, TextEditorHighlightingPassRegistrar.Anchor.BEFORE, Pass.POPUP_HINTS, true, true)