Remove deprecated AbstractProjectComponent
This commit is contained in:
+4
-5
@@ -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()
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
+2
-3
@@ -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)
|
||||
}
|
||||
|
||||
+2
-3
@@ -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(
|
||||
|
||||
+8
-5
@@ -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)
|
||||
}
|
||||
|
||||
+10
-10
@@ -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
|
||||
}
|
||||
|
||||
+8
-8
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user