From 70f6a49e5412773d1c8705238e900bc3bb10f036 Mon Sep 17 00:00:00 2001 From: Vladimir Lagunov Date: Thu, 27 Jun 2024 14:35:41 +0200 Subject: [PATCH] IJPL-149878 IJent WSL FS refactoring: explicitly define `IjentWslNioFsToggler.unregisterAll` GitOrigin-RevId: a8f71609450d594e120de7cb1ec76d095a3e3ec5 --- .../wsl/ijent/nio/toggle/IjentNioFsStrategy.kt | 6 +++++- .../wsl/ijent/nio/toggle/IjentWslNioFsToggler.kt | 12 ++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/execution/wsl/ijent/nio/toggle/IjentNioFsStrategy.kt b/platform/platform-impl/src/com/intellij/execution/wsl/ijent/nio/toggle/IjentNioFsStrategy.kt index 638fa57add89..265746cec432 100644 --- a/platform/platform-impl/src/com/intellij/execution/wsl/ijent/nio/toggle/IjentNioFsStrategy.kt +++ b/platform/platform-impl/src/com/intellij/execution/wsl/ijent/nio/toggle/IjentNioFsStrategy.kt @@ -29,7 +29,7 @@ internal class IjentWslNioFsToggleStrategy( init { coroutineScope.coroutineContext.job.invokeOnCompletion { - ownFileSystems.unregisterAll() + unregisterAll() } } @@ -108,6 +108,10 @@ internal class IjentWslNioFsToggleStrategy( } } } + + fun unregisterAll() { + ownFileSystems.unregisterAll() + } } private fun FileSystemProvider.unwrapIjentWslNioFileSystemProvider(): IjentWslNioFileSystemProvider? = diff --git a/platform/platform-impl/src/com/intellij/execution/wsl/ijent/nio/toggle/IjentWslNioFsToggler.kt b/platform/platform-impl/src/com/intellij/execution/wsl/ijent/nio/toggle/IjentWslNioFsToggler.kt index 686e2d089fea..763325a13389 100644 --- a/platform/platform-impl/src/com/intellij/execution/wsl/ijent/nio/toggle/IjentWslNioFsToggler.kt +++ b/platform/platform-impl/src/com/intellij/execution/wsl/ijent/nio/toggle/IjentWslNioFsToggler.kt @@ -12,7 +12,6 @@ import com.intellij.openapi.util.SystemInfo import com.intellij.platform.core.nio.fs.MultiRoutingFileSystemProvider import com.intellij.platform.ijent.IjentId import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.cancel import org.jetbrains.annotations.ApiStatus.Internal import org.jetbrains.annotations.TestOnly import org.jetbrains.annotations.VisibleForTesting @@ -52,6 +51,12 @@ class IjentWslNioFsToggler(private val coroutineScope: CoroutineScope) { strategy?.disable(distro) } + @TestOnly + fun unregisterAll() { + strategy ?: error("Not available") + strategy.unregisterAll() + } + private val strategy = run { val defaultProvider = FileSystems.getDefault().provider() when { @@ -69,9 +74,4 @@ class IjentWslNioFsToggler(private val coroutineScope: CoroutineScope) { } } } - - @TestOnly - fun unregisterAll() { - coroutineScope.cancel() - } } \ No newline at end of file