diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/KtFileClassProviderImpl.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/KtFileClassProviderImpl.kt index cf022c9fc74..d855dee5677 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/KtFileClassProviderImpl.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/KtFileClassProviderImpl.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.idea.caches.resolve +import com.intellij.openapi.project.Project import com.intellij.psi.PsiClass import com.intellij.psi.PsiManager import org.jetbrains.kotlin.asJava.KotlinAsJavaSupport @@ -20,8 +21,8 @@ import org.jetbrains.kotlin.psi.KtFileClassProvider import org.jetbrains.kotlin.psi.analysisContext import org.jetbrains.kotlin.platform.jvm.isJvm -class KtFileClassProviderImpl(val kotlinAsJavaSupport: KotlinAsJavaSupport) : - KtFileClassProvider { +class KtFileClassProviderImpl(val project: Project) : KtFileClassProvider { + override fun getFileClasses(file: KtFile): Array { if (file.project.isInDumbMode()) { return PsiClass.EMPTY_ARRAY @@ -45,6 +46,8 @@ class KtFileClassProviderImpl(val kotlinAsJavaSupport: KotlinAsJavaSupport) : val jvmClassInfo = JvmFileClassUtil.getFileClassInfoNoResolve(file) val fileClassFqName = file.javaFileFacadeFqName + val kotlinAsJavaSupport = KotlinAsJavaSupport.getInstance(project) + val facadeClasses = when { file.analysisContext != null && file.hasTopLevelCallables() -> listOf( diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/trackers/KotlinIDEModificationTrackerService.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/trackers/KotlinIDEModificationTrackerService.kt index b73ee45ae94..6f392a217ea 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/trackers/KotlinIDEModificationTrackerService.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/trackers/KotlinIDEModificationTrackerService.kt @@ -11,10 +11,10 @@ import com.intellij.psi.util.PsiModificationTracker import org.jetbrains.kotlin.analyzer.KotlinModificationTrackerService import org.jetbrains.kotlin.psi.KtFile -class KotlinIDEModificationTrackerService(project: Project, psiModificationTracker: PsiModificationTracker) : +class KotlinIDEModificationTrackerService(project: Project) : KotlinModificationTrackerService() { - override val modificationTracker: ModificationTracker = psiModificationTracker + override val modificationTracker: ModificationTracker = PsiModificationTracker.SERVICE.getInstance(project) override val outOfBlockModificationTracker: ModificationTracker = KotlinCodeBlockModificationListener.getInstance(project).kotlinOutOfCodeBlockTracker diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptConfigurationManager.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptConfigurationManager.kt index 1f614e31663..15244664d6c 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptConfigurationManager.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptConfigurationManager.kt @@ -38,10 +38,7 @@ import kotlin.script.experimental.api.makeFailureResult // NOTE: this service exists exclusively because ScriptDependencyManager // cannot be registered as implementing two services (state would be duplicated) -class IdeScriptDependenciesProvider( - private val scriptConfigurationManager: ScriptConfigurationManager, - project: Project -) : ScriptDependenciesProvider(project) { +class IdeScriptDependenciesProvider(project: Project) : ScriptDependenciesProvider(project) { override fun getScriptConfigurationResult(file: KtFile): ScriptCompilationConfigurationResult? { val configuration = getScriptConfiguration(file) val reports = IdeScriptReportSink.getReports(file) @@ -52,7 +49,7 @@ class IdeScriptDependenciesProvider( } override fun getScriptConfiguration(file: KtFile): ScriptCompilationConfigurationWrapper? { - return scriptConfigurationManager.getConfiguration(file) + return ScriptConfigurationManager.getInstance(project).getConfiguration(file) } } diff --git a/idea/src/org/jetbrains/kotlin/idea/KotlinPluginUpdater.kt b/idea/src/org/jetbrains/kotlin/idea/KotlinPluginUpdater.kt index 094c818bfa3..ac6ef8e1589 100644 --- a/idea/src/org/jetbrains/kotlin/idea/KotlinPluginUpdater.kt +++ b/idea/src/org/jetbrains/kotlin/idea/KotlinPluginUpdater.kt @@ -22,6 +22,7 @@ import com.intellij.openapi.extensions.PluginId import com.intellij.openapi.progress.ProgressIndicator import com.intellij.openapi.progress.ProgressManager import com.intellij.openapi.progress.Task +import com.intellij.openapi.project.Project import com.intellij.openapi.updateSettings.impl.PluginDownloader import com.intellij.openapi.updateSettings.impl.UpdateSettings import com.intellij.openapi.util.JDOMUtil @@ -86,7 +87,7 @@ sealed class PluginUpdateStatus { } } -class KotlinPluginUpdater(private val propertiesComponent: PropertiesComponent) : Disposable { +class KotlinPluginUpdater : Disposable { private var updateDelay = INITIAL_UPDATE_DELAY private val alarm = Alarm(Alarm.ThreadToUse.POOLED_THREAD, this) private val notificationGroup = NotificationGroup("Kotlin plugin updates", NotificationDisplayType.STICKY_BALLOON, true) @@ -101,7 +102,7 @@ class KotlinPluginUpdater(private val propertiesComponent: PropertiesComponent) if (ApplicationManager.getApplication().isUnitTestMode || ApplicationManager.getApplication().isHeadlessEnvironment) return if (!UpdateSettings.getInstance().isCheckNeeded) return - val lastUpdateTime = java.lang.Long.parseLong(propertiesComponent.getValue(PROPERTY_NAME, "0")) + val lastUpdateTime = java.lang.Long.parseLong(PropertiesComponent.getInstance().getValue(PROPERTY_NAME, "0")) if (lastUpdateTime == 0L || System.currentTimeMillis() - lastUpdateTime > CACHED_REQUEST_DELAY) { queueUpdateCheck { updateStatus -> when (updateStatus) { @@ -233,7 +234,7 @@ class KotlinPluginUpdater(private val propertiesComponent: PropertiesComponent) } private fun recordSuccessfulUpdateCheck() { - propertiesComponent.setValue(PROPERTY_NAME, System.currentTimeMillis().toString()) + PropertiesComponent.getInstance().setValue(PROPERTY_NAME, System.currentTimeMillis().toString()) updateDelay = INITIAL_UPDATE_DELAY } diff --git a/idea/src/org/jetbrains/kotlin/idea/script/scriptTemplatesFromCompilerSettings.kt b/idea/src/org/jetbrains/kotlin/idea/script/scriptTemplatesFromCompilerSettings.kt index 9d2fb72dcc4..7630c98b79d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/script/scriptTemplatesFromCompilerSettings.kt +++ b/idea/src/org/jetbrains/kotlin/idea/script/scriptTemplatesFromCompilerSettings.kt @@ -30,8 +30,7 @@ import kotlin.script.experimental.host.ScriptingHostConfiguration import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration class ScriptTemplatesFromCompilerSettingsProvider( - private val project: Project, - private val compilerSettings: KotlinCompilerSettings + private val project: Project ) : ScriptDefinitionSourceAsContributor { init { @@ -46,7 +45,7 @@ class ScriptTemplatesFromCompilerSettingsProvider( override val definitions: Sequence get() { - val kotlinSettings = compilerSettings.settings + val kotlinSettings = KotlinCompilerSettings.getInstance(project).settings return if (kotlinSettings.scriptTemplates.isBlank()) emptySequence() else loadDefinitionsFromTemplates( templateClassNames = kotlinSettings.scriptTemplates.split(',', ' '),