diff --git a/platform/platform-impl/src/com/intellij/ide/lightEdit/project/LightEditProjectFileIndex.java b/platform/platform-impl/src/com/intellij/ide/lightEdit/project/LightEditProjectFileIndex.java index 87034c923ee5..90f61bea5cab 100644 --- a/platform/platform-impl/src/com/intellij/ide/lightEdit/project/LightEditProjectFileIndex.java +++ b/platform/platform-impl/src/com/intellij/ide/lightEdit/project/LightEditProjectFileIndex.java @@ -176,4 +176,7 @@ final class LightEditProjectFileIndex implements ProjectFileIndex { public @Nullable String getUnloadedModuleNameForFile(@NotNull VirtualFile fileOrDir) { return null; } + + @Override + public @Nullable VirtualFile getWorkspaceContentFileSetRoot(@NotNull VirtualFile fileOrDir) { return null; } } diff --git a/platform/projectModel-api/src/com/intellij/openapi/roots/ProjectFileIndex.java b/platform/projectModel-api/src/com/intellij/openapi/roots/ProjectFileIndex.java index dc44adb91dfc..5b7f1a2c68c2 100644 --- a/platform/projectModel-api/src/com/intellij/openapi/roots/ProjectFileIndex.java +++ b/platform/projectModel-api/src/com/intellij/openapi/roots/ProjectFileIndex.java @@ -4,6 +4,7 @@ package com.intellij.openapi.roots; import com.intellij.openapi.fileTypes.FileTypeRegistry; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.IntellijInternalApi; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.platform.workspace.jps.entities.LibraryEntity; import com.intellij.platform.workspace.jps.entities.SdkEntity; @@ -227,4 +228,9 @@ public interface ProjectFileIndex extends FileIndex { * to an unloaded module. */ @Nullable String getUnloadedModuleNameForFile(@NotNull VirtualFile fileOrDir); + + /// Use [com.intellij.workspaceModel.core.fileIndex.WorkspaceFileIndex.getContentFileSetRoot] instead + @ApiStatus.Internal + @IntellijInternalApi + @Nullable VirtualFile getWorkspaceContentFileSetRoot(@NotNull VirtualFile fileOrDir); } diff --git a/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ProjectFileIndexImpl.java b/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ProjectFileIndexImpl.java index d8a4d2b42a9d..151942feacde 100644 --- a/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ProjectFileIndexImpl.java +++ b/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ProjectFileIndexImpl.java @@ -18,6 +18,7 @@ import com.intellij.platform.workspace.jps.entities.SdkEntity; import com.intellij.platform.workspace.storage.ImmutableEntityStorage; import com.intellij.util.SmartList; import com.intellij.util.containers.ContainerUtil; +import com.intellij.workspaceModel.core.fileIndex.WorkspaceFileIndex; import com.intellij.workspaceModel.core.fileIndex.WorkspaceFileKind; import com.intellij.workspaceModel.core.fileIndex.WorkspaceFileSet; import com.intellij.workspaceModel.core.fileIndex.WorkspaceFileSetWithCustomData; @@ -317,6 +318,11 @@ public class ProjectFileIndexImpl extends FileIndexBase implements ProjectFileIn return fileSet != null ? fileSet.getData().getModuleName() : null; } + @Override + public @Nullable VirtualFile getWorkspaceContentFileSetRoot(@NotNull VirtualFile fileOrDir) { + return WorkspaceFileIndex.getInstance(myProject).getContentFileSetRoot(fileOrDir, true); + } + @Override protected boolean isScopeDisposed() { return myProject.isDisposed();