From 9cead54944abbc8065f763daab628433db95e957 Mon Sep 17 00:00:00 2001 From: Konstantin Nisht Date: Thu, 12 Jun 2025 12:18:23 +0200 Subject: [PATCH] [threading] IJPL-148438: Hide `LegacyProgressIndicatorProvider` to the impl module GitOrigin-RevId: f6679aecfb8ed8788268dead7b314303956069b9 --- .../com/intellij/openapi/application/ThreadingSupport.kt | 6 ------ platform/locking.impl/src/NestedLocksThreadingSupport.kt | 5 +++-- .../src/listeners}/LegacyProgressIndicatorProvider.kt | 4 ++-- .../intellij/openapi/application/impl/ApplicationImpl.java | 3 ++- 4 files changed, 7 insertions(+), 11 deletions(-) rename platform/{core-api/src/com/intellij/openapi/application => locking.impl/src/listeners}/LegacyProgressIndicatorProvider.kt (90%) diff --git a/platform/core-api/src/com/intellij/openapi/application/ThreadingSupport.kt b/platform/core-api/src/com/intellij/openapi/application/ThreadingSupport.kt index 9b762bbe6738..58c7682c52e4 100644 --- a/platform/core-api/src/com/intellij/openapi/application/ThreadingSupport.kt +++ b/platform/core-api/src/com/intellij/openapi/application/ThreadingSupport.kt @@ -197,12 +197,6 @@ interface ThreadingSupport { @ApiStatus.Internal fun removeWriteLockReacquisitionListener(listener: WriteLockReacquisitionListener) - @ApiStatus.Internal - fun setLegacyIndicatorProvider(provider: LegacyProgressIndicatorProvider) - - @ApiStatus.Internal - fun removeLegacyIndicatorProvider(provider: LegacyProgressIndicatorProvider) - /** * Prevents any attempt to use R/W locks inside [action]. */ diff --git a/platform/locking.impl/src/NestedLocksThreadingSupport.kt b/platform/locking.impl/src/NestedLocksThreadingSupport.kt index 9f350d9d15fe..549b746ed7e5 100644 --- a/platform/locking.impl/src/NestedLocksThreadingSupport.kt +++ b/platform/locking.impl/src/NestedLocksThreadingSupport.kt @@ -9,6 +9,7 @@ import com.intellij.openapi.application.* import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.progress.Cancellation import com.intellij.openapi.util.text.StringUtil +import com.intellij.platform.locking.impl.listeners.LegacyProgressIndicatorProvider import com.intellij.platform.locking.impl.listeners.LockAcquisitionListener import com.intellij.util.ReflectionUtil import kotlinx.coroutines.* @@ -842,14 +843,14 @@ class NestedLocksThreadingSupport : ThreadingSupport { } @ApiStatus.Internal - override fun setLegacyIndicatorProvider(provider: LegacyProgressIndicatorProvider) { + fun setLegacyIndicatorProvider(provider: LegacyProgressIndicatorProvider) { if (myLegacyProgressIndicatorProvider != null) error("LegacyProgressIndicatorProvider already registered") myLegacyProgressIndicatorProvider = provider } @ApiStatus.Internal - override fun removeLegacyIndicatorProvider(provider: LegacyProgressIndicatorProvider) { + fun removeLegacyIndicatorProvider(provider: LegacyProgressIndicatorProvider) { if (myLegacyProgressIndicatorProvider != provider) error("LegacyProgressIndicatorProvider is not registered") myLegacyProgressIndicatorProvider = null diff --git a/platform/core-api/src/com/intellij/openapi/application/LegacyProgressIndicatorProvider.kt b/platform/locking.impl/src/listeners/LegacyProgressIndicatorProvider.kt similarity index 90% rename from platform/core-api/src/com/intellij/openapi/application/LegacyProgressIndicatorProvider.kt rename to platform/locking.impl/src/listeners/LegacyProgressIndicatorProvider.kt index 48264516aa29..db410cdf4de3 100644 --- a/platform/core-api/src/com/intellij/openapi/application/LegacyProgressIndicatorProvider.kt +++ b/platform/locking.impl/src/listeners/LegacyProgressIndicatorProvider.kt @@ -1,5 +1,5 @@ // Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.openapi.application +package com.intellij.platform.locking.impl.listeners import org.jetbrains.annotations.ApiStatus @@ -14,4 +14,4 @@ interface LegacyProgressIndicatorProvider { interface LegacyProgressIndicator { fun checkCanceled() } -} +} \ No newline at end of file diff --git a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java index 8f35d676df53..1231918849c7 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java @@ -46,6 +46,7 @@ import com.intellij.platform.diagnostic.telemetry.TelemetryManager; import com.intellij.platform.diagnostic.telemetry.helpers.TraceKt; import com.intellij.platform.locking.impl.IntelliJLockingUtil; import com.intellij.platform.locking.impl.NestedLocksThreadingSupport; +import com.intellij.platform.locking.impl.listeners.LegacyProgressIndicatorProvider; import com.intellij.platform.locking.impl.listeners.LockAcquisitionListener; import com.intellij.psi.util.ReadActionCache; import com.intellij.ui.ComponentUtil; @@ -394,7 +395,7 @@ public final class ApplicationImpl extends ClientAwareComponentManager implement getThreadingSupport().removeWriteIntentReadActionListener(myLockDispatcherListener); lock.removeLockAcquisitionListener(myLockDispatcherListener); getThreadingSupport().removeWriteLockReacquisitionListener(myLockDispatcherListener); - getThreadingSupport().removeLegacyIndicatorProvider(myLegacyIndicatorProvider); + lock.removeLegacyIndicatorProvider(myLegacyIndicatorProvider); //noinspection deprecation myDispatcher.getMulticaster().applicationExiting();