diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/impl/ProjectRootManagerComponent.java b/platform/lang-impl/src/com/intellij/openapi/roots/impl/ProjectRootManagerComponent.java index 4449b7a77e91..a59c9974ab11 100644 --- a/platform/lang-impl/src/com/intellij/openapi/roots/impl/ProjectRootManagerComponent.java +++ b/platform/lang-impl/src/com/intellij/openapi/roots/impl/ProjectRootManagerComponent.java @@ -246,7 +246,7 @@ public class ProjectRootManagerComponent extends ProjectRootManagerImpl implemen Set excludedUrls = CollectionFactory.createSmallMemoryFootprintSet(); // changes in files provided by this method should be watched manually because no-one's bothered to set up correct pointers for them - for (DirectoryIndexExcludePolicy excludePolicy : DirectoryIndexExcludePolicy.EP_NAME.getExtensionList(myProject)) { + for (DirectoryIndexExcludePolicy excludePolicy : DirectoryIndexExcludePolicy.EP_NAME.getExtensions(myProject)) { Collections.addAll(excludedUrls, excludePolicy.getExcludeUrlsForProject()); } diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/roots/impl/indexing/IndexableFilesExcludedWithDirectoryIndexExcludePolicyTest.kt b/platform/platform-tests/testSrc/com/intellij/openapi/roots/impl/indexing/IndexableFilesExcludedWithDirectoryIndexExcludePolicyTest.kt index 406402cda6fa..a03819682b50 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/roots/impl/indexing/IndexableFilesExcludedWithDirectoryIndexExcludePolicyTest.kt +++ b/platform/platform-tests/testSrc/com/intellij/openapi/roots/impl/indexing/IndexableFilesExcludedWithDirectoryIndexExcludePolicyTest.kt @@ -1,7 +1,8 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.openapi.roots.impl.indexing import com.intellij.openapi.application.runWriteAction +import com.intellij.openapi.extensions.impl.ExtensionPointImpl import com.intellij.openapi.projectRoots.Sdk import com.intellij.openapi.roots.ModuleRootModel import com.intellij.openapi.roots.ModuleRootModificationUtil @@ -9,7 +10,6 @@ import com.intellij.openapi.roots.OrderRootType import com.intellij.openapi.roots.impl.DirectoryIndexExcludePolicy import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.pointers.VirtualFilePointerManager -import com.intellij.testFramework.ExtensionTestUtil import com.intellij.testFramework.RunsInEdt import com.intellij.util.Function import org.junit.Test @@ -97,8 +97,8 @@ class IndexableFilesExcludedWithDirectoryIndexExcludePolicyTest : IndexableFiles private fun maskDirectoryIndexExcludePolicy(vararg directoryIndexExcludePolicy: DirectoryIndexExcludePolicy) { runWriteAction { - ExtensionTestUtil.maskExtensions(DirectoryIndexExcludePolicy.EP_NAME, directoryIndexExcludePolicy.toList(), disposableRule.disposable, - areaInstance = project) + (DirectoryIndexExcludePolicy.EP_NAME.getPoint(project) as ExtensionPointImpl).maskAll( + directoryIndexExcludePolicy.toList(), disposableRule.disposable, true) fireRootsChanged() } } diff --git a/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/DirectoryIndexExcludePolicy.java b/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/DirectoryIndexExcludePolicy.java index 8cd244b99178..bb5364270cb9 100644 --- a/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/DirectoryIndexExcludePolicy.java +++ b/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/DirectoryIndexExcludePolicy.java @@ -1,9 +1,9 @@ -// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.openapi.roots.impl; import com.intellij.openapi.extensions.AreaInstance; -import com.intellij.openapi.extensions.ExtensionPointName; +import com.intellij.openapi.extensions.ProjectExtensionPointName; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.roots.ModuleRootModel; import com.intellij.openapi.vfs.VirtualFile; @@ -23,7 +23,8 @@ import java.util.List; * excluded from the project and its modules. */ public interface DirectoryIndexExcludePolicy { - ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.directoryIndexExcludePolicy"); + ProjectExtensionPointName EP_NAME = + new ProjectExtensionPointName<>("com.intellij.directoryIndexExcludePolicy"); /** * @deprecated Override {@link #getExcludeUrlsForProject()} instead @@ -48,9 +49,9 @@ public interface DirectoryIndexExcludePolicy { } @Contract(pure = true) - default VirtualFilePointer @NotNull [] getExcludeRootsForModule(@NotNull ModuleRootModel rootModel) { return VirtualFilePointer.EMPTY_ARRAY;} + default VirtualFilePointer @NotNull [] getExcludeRootsForModule(@NotNull ModuleRootModel rootModel) { return VirtualFilePointer.EMPTY_ARRAY; } static DirectoryIndexExcludePolicy @NotNull [] getExtensions(@NotNull AreaInstance areaInstance) { - return EP_NAME.getExtensions(areaInstance); + return EP_NAME.getExtensions(areaInstance).toArray(new DirectoryIndexExcludePolicy[0]); } }