From c4f3cc945492bd70f6e655299af4725ee120cdca Mon Sep 17 00:00:00 2001 From: Ilya Korennoy Date: Fri, 6 Feb 2026 17:28:46 +0400 Subject: [PATCH] IJPL-930 Add CLASSES and SOURCES instances for SdkRootTypeId GitOrigin-RevId: 415eba10aafc8bd4f2053dab7c7c906a572efd59 --- .../intellij/openapi/roots/impl/LibraryScopeCache.java | 9 +++------ platform/workspace/jps/api-dump.txt | 4 ++++ .../com/intellij/platform/workspace/jps/entities/sdk.kt | 9 ++++++++- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/platform/analysis-impl/src/com/intellij/openapi/roots/impl/LibraryScopeCache.java b/platform/analysis-impl/src/com/intellij/openapi/roots/impl/LibraryScopeCache.java index 76f1018089eb..3fbef2023262 100644 --- a/platform/analysis-impl/src/com/intellij/openapi/roots/impl/LibraryScopeCache.java +++ b/platform/analysis-impl/src/com/intellij/openapi/roots/impl/LibraryScopeCache.java @@ -13,7 +13,6 @@ import com.intellij.openapi.roots.JdkOrderEntry; import com.intellij.openapi.roots.LibraryOrderEntry; import com.intellij.openapi.roots.ModuleOrderEntry; import com.intellij.openapi.roots.OrderEntry; -import com.intellij.openapi.roots.OrderRootType; import com.intellij.openapi.roots.ProjectFileIndex; import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.util.registry.Registry; @@ -29,6 +28,7 @@ import com.intellij.platform.workspace.jps.entities.ModuleEntity; import com.intellij.platform.workspace.jps.entities.SdkEntity; import com.intellij.platform.workspace.jps.entities.SdkId; import com.intellij.platform.workspace.jps.entities.SdkRoot; +import com.intellij.platform.workspace.jps.entities.SdkRootTypeId; import com.intellij.platform.workspace.storage.ImmutableEntityStorage; import com.intellij.psi.search.DelegatingGlobalSearchScope; import com.intellij.psi.search.GlobalSearchScope; @@ -37,7 +37,6 @@ import com.intellij.util.containers.ConcurrentFactoryMap; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.graph.Graph; import com.intellij.workspaceModel.ide.impl.legacyBridge.module.ModuleExportedDependenciesGraph; -import com.intellij.workspaceModel.ide.impl.legacyBridge.sdk.SdkBridgeImplKt; import com.intellij.workspaceModel.ide.legacyBridge.ModuleBridges; import kotlin.sequences.SequencesKt; import org.jetbrains.annotations.ApiStatus; @@ -197,18 +196,16 @@ public final class LibraryScopeCache { final String name = sdkEntity.getName(); GlobalSearchScope scope = mySdkScopes.get(name); if (scope == null) { - String sdkSourcesRootTypeName = SdkBridgeImplKt.getCustomName(OrderRootType.SOURCES); - String sdkClassesRootTypeName = SdkBridgeImplKt.getCustomName(OrderRootType.CLASSES); var roots = sdkEntity.getRoots(); var sources = roots.stream() - .filter(root -> Objects.equals(root.getType().getName(), sdkSourcesRootTypeName)) + .filter(root -> Objects.equals(root.getType(), SdkRootTypeId.SOURCES)) .map(SdkRoot::getUrl) .map(VirtualFileUrls::getVirtualFile) .toArray(VirtualFile[]::new); var classes = roots.stream() - .filter(root -> Objects.equals(root.getType().getName(), sdkClassesRootTypeName)) + .filter(root -> Objects.equals(root.getType(), SdkRootTypeId.CLASSES)) .map(SdkRoot::getUrl) .map(VirtualFileUrls::getVirtualFile) .toArray(VirtualFile[]::new); diff --git a/platform/workspace/jps/api-dump.txt b/platform/workspace/jps/api-dump.txt index 20c0738716d5..ce70051df034 100644 --- a/platform/workspace/jps/api-dump.txt +++ b/platform/workspace/jps/api-dump.txt @@ -1332,6 +1332,9 @@ f:com.intellij.platform.workspace.jps.entities.SdkRoot - hashCode():I f:com.intellij.platform.workspace.jps.entities.SdkRootTypeId - java.io.Serializable +- sf:CLASSES:com.intellij.platform.workspace.jps.entities.SdkRootTypeId +- sf:Companion:com.intellij.platform.workspace.jps.entities.SdkRootTypeId$Companion +- sf:SOURCES:com.intellij.platform.workspace.jps.entities.SdkRootTypeId - (java.lang.String):V - f:component1():java.lang.String - f:copy(java.lang.String):com.intellij.platform.workspace.jps.entities.SdkRootTypeId @@ -1339,6 +1342,7 @@ f:com.intellij.platform.workspace.jps.entities.SdkRootTypeId - equals(java.lang.Object):Z - f:getName():java.lang.String - hashCode():I +f:com.intellij.platform.workspace.jps.entities.SdkRootTypeId$Companion com.intellij.platform.workspace.jps.entities.SourceRootEntity - com.intellij.platform.workspace.storage.WorkspaceEntity - sf:Companion:com.intellij.platform.workspace.jps.entities.SourceRootEntity$Companion diff --git a/platform/workspace/jps/src/com/intellij/platform/workspace/jps/entities/sdk.kt b/platform/workspace/jps/src/com/intellij/platform/workspace/jps/entities/sdk.kt index 7bb73a0f3c7f..b2c56a45f367 100644 --- a/platform/workspace/jps/src/com/intellij/platform/workspace/jps/entities/sdk.kt +++ b/platform/workspace/jps/src/com/intellij/platform/workspace/jps/entities/sdk.kt @@ -53,4 +53,11 @@ fun MutableEntityStorage.modifySdkEntity( data class SdkRoot(val url: VirtualFileUrl, val type: SdkRootTypeId) : Serializable -data class SdkRootTypeId(val name: @NonNls String) : Serializable \ No newline at end of file +data class SdkRootTypeId(val name: @NonNls String) : Serializable { + companion object { + @JvmField + val CLASSES: SdkRootTypeId = SdkRootTypeId("classPath") + @JvmField + val SOURCES: SdkRootTypeId = SdkRootTypeId("sourcePath") + } +} \ No newline at end of file