Make DirectoryIndexExcludePolicy.java.EP explicitly ProjectExtensionPointName

EA-527285 (plugin) - IAE: ExtensionsAreaImpl.getExtensionPoint

GitOrigin-RevId: 6f4cc9bddb0ede465afb9b0f662030850d3b8b53
This commit is contained in:
Elena Shaverdova
2022-05-27 16:30:48 +00:00
committed by intellij-monorepo-bot
parent afeb7745fd
commit fff9d4c42d
3 changed files with 11 additions and 10 deletions
@@ -246,7 +246,7 @@ public class ProjectRootManagerComponent extends ProjectRootManagerImpl implemen
Set<String> 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());
}
@@ -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<DirectoryIndexExcludePolicy>).maskAll(
directoryIndexExcludePolicy.toList(), disposableRule.disposable, true)
fireRootsChanged()
}
}
@@ -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;
* <a href="https://www.jetbrains.com/help/idea/content-roots.html#exclude-files-folders">excluded</a> from the project and its modules.
*/
public interface DirectoryIndexExcludePolicy {
ExtensionPointName<DirectoryIndexExcludePolicy> EP_NAME = ExtensionPointName.create("com.intellij.directoryIndexExcludePolicy");
ProjectExtensionPointName<DirectoryIndexExcludePolicy> 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]);
}
}