mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
LAB-31 add rename API to PythonAnalysisTool (wip). Move several EPs from lang to analysis
GitOrigin-RevId: e66c50404670eeca27358f942153f146d8c742b3
This commit is contained in:
committed by
intellij-monorepo-bot
parent
12924fa8e7
commit
fbe47de0c5
@@ -11,6 +11,13 @@
|
||||
<extensionPoint name="weigher" beanClass="com.intellij.psi.WeigherExtensionPoint" dynamic="true">
|
||||
<with attribute="implementationClass" implements="com.intellij.psi.Weigher"/>
|
||||
</extensionPoint>
|
||||
|
||||
<extensionPoint name="codeInsight.containerProvider"
|
||||
interface="com.intellij.codeInsight.ContainerProvider"
|
||||
dynamic="true"/>
|
||||
|
||||
<extensionPoint name="referencesSearch" interface="com.intellij.util.QueryExecutor" dynamic="true"/>
|
||||
|
||||
</extensionPoints>
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<projectService serviceImplementation="com.intellij.psi.search.scope.packageSet.NamedScopeManager"/>
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
beanClass="com.intellij.codeInsight.completion.CompletionDataEP">
|
||||
<with attribute="className" implements="com.intellij.codeInsight.completion.CompletionData"/>
|
||||
</extensionPoint>
|
||||
|
||||
<extensionPoint name="useScopeEnlarger" interface="com.intellij.psi.search.UseScopeEnlarger" dynamic="true"/>
|
||||
<extensionPoint name="useScopeOptimizer" interface="com.intellij.psi.search.ScopeOptimizer" dynamic="true"/>
|
||||
</extensionPoints>
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<applicationService serviceImplementation="com.intellij.codeInspection.ex.InspectionToolRegistrar"/>
|
||||
@@ -19,6 +22,13 @@
|
||||
<applicationService serviceImplementation="com.intellij.codeInsight.CodeInsightSettings"/>
|
||||
<applicationService serviceInterface="com.intellij.codeInsight.completion.CompletionService"
|
||||
serviceImplementation="com.intellij.codeInsight.completion.BaseCompletionService"/>
|
||||
<applicationService serviceInterface="com.intellij.ide.plugins.PluginUtil"
|
||||
serviceImplementation="com.intellij.ide.plugins.PluginUtilImpl"/>
|
||||
|
||||
<projectService serviceInterface="com.intellij.psi.impl.ResolveScopeManager"
|
||||
serviceImplementation="com.intellij.psi.impl.file.impl.ResolveScopeManagerImpl"/>
|
||||
<projectService serviceInterface="com.intellij.psi.search.PsiSearchHelper"
|
||||
serviceImplementation="com.intellij.psi.impl.search.PsiSearchHelperImpl"/>
|
||||
|
||||
<weigher key="completion" implementationClass="com.intellij.codeInsight.completion.PriorityWeigher" id="priority" order="first"/>
|
||||
<weigher key="completion" implementationClass="com.intellij.codeInsight.completion.PrefixMatchingWeigher" id="prefix"
|
||||
|
||||
@@ -4,13 +4,16 @@ package com.intellij.refactoring.rename;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiNamedElement;
|
||||
import com.intellij.psi.PsiPolyVariantReference;
|
||||
import com.intellij.psi.PsiReference;
|
||||
import com.intellij.psi.meta.PsiMetaData;
|
||||
import com.intellij.psi.meta.PsiMetaOwner;
|
||||
import com.intellij.psi.meta.PsiWritableMetaData;
|
||||
import com.intellij.refactoring.listeners.RefactoringElementListener;
|
||||
import com.intellij.refactoring.util.MoveRenameUsageInfo;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -22,10 +25,10 @@ public final class RenameUtilBase {
|
||||
}
|
||||
|
||||
|
||||
static void doRenameGenericNamedElement(@NotNull PsiElement namedElement,
|
||||
String newName,
|
||||
UsageInfo[] usages,
|
||||
@Nullable RefactoringElementListener listener) {
|
||||
public static void doRenameGenericNamedElement(@NotNull PsiElement namedElement,
|
||||
String newName,
|
||||
UsageInfo[] usages,
|
||||
@Nullable RefactoringElementListener listener) {
|
||||
PsiWritableMetaData writableMetaData = null;
|
||||
if (namedElement instanceof PsiMetaOwner) {
|
||||
final PsiMetaData metaData = ((PsiMetaOwner)namedElement).getMetaData();
|
||||
@@ -41,7 +44,8 @@ public final class RenameUtilBase {
|
||||
for (UsageInfo usage : usages) {
|
||||
if (!(usage.getReference() instanceof BindablePsiReference)) {
|
||||
rename(usage, newName);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
hasBindables = true;
|
||||
}
|
||||
}
|
||||
@@ -85,4 +89,17 @@ public final class RenameUtilBase {
|
||||
if (ref == null) return;
|
||||
ref.handleElementRename(newName);
|
||||
}
|
||||
|
||||
@ApiStatus.Internal
|
||||
public static UsageInfo createMoveRenameUsageInfo(@NotNull PsiElement element,
|
||||
@NotNull PsiReference ref,
|
||||
@NotNull PsiElement referenceElement) {
|
||||
return new MoveRenameUsageInfo(referenceElement, ref,
|
||||
ref.getRangeInElement().getStartOffset(),
|
||||
ref.getRangeInElement().getEndOffset(),
|
||||
element,
|
||||
ref.resolve() == null &&
|
||||
!(ref instanceof PsiPolyVariantReference &&
|
||||
((PsiPolyVariantReference)ref).multiResolve(true).length > 0));
|
||||
}
|
||||
}
|
||||
|
||||
+5
-7
@@ -8,14 +8,16 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.Pass;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiFileSystemItem;
|
||||
import com.intellij.psi.PsiReference;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.SearchScope;
|
||||
import com.intellij.psi.search.searches.ReferencesSearch;
|
||||
import com.intellij.psi.util.PsiUtilCore;
|
||||
import com.intellij.refactoring.RefactoringSettings;
|
||||
import com.intellij.refactoring.listeners.RefactoringElementListener;
|
||||
import com.intellij.refactoring.util.MoveRenameUsageInfo;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.containers.MultiMap;
|
||||
@@ -250,11 +252,7 @@ public abstract class RenamePsiElementProcessor {
|
||||
|
||||
@NotNull
|
||||
public UsageInfo createUsageInfo(@NotNull PsiElement element, @NotNull PsiReference ref, @NotNull PsiElement referenceElement) {
|
||||
return new MoveRenameUsageInfo(referenceElement, ref,
|
||||
ref.getRangeInElement().getStartOffset(),
|
||||
ref.getRangeInElement().getEndOffset(),
|
||||
element,
|
||||
ref.resolve() == null && !(ref instanceof PsiPolyVariantReference && ((PsiPolyVariantReference)ref).multiResolve(true).length > 0));
|
||||
return RenameUtilBase.createMoveRenameUsageInfo(element, ref, referenceElement);
|
||||
}
|
||||
|
||||
final boolean myOldFindMethodsImplemented;
|
||||
|
||||
@@ -154,7 +154,6 @@
|
||||
<with attribute="wordsScannerClass" implements="com.intellij.lang.cacheBuilder.WordsScanner"/>
|
||||
</extensionPoint>
|
||||
|
||||
<extensionPoint name="referencesSearch" interface="com.intellij.util.QueryExecutor" dynamic="true"/>
|
||||
<extensionPoint name="searcher" beanClass="com.intellij.openapi.util.ClassExtensionPoint" dynamic="true">
|
||||
<with attribute="forClass" implements="com.intellij.model.search.SearchParameters"/>
|
||||
<with attribute="implementationClass" implements="com.intellij.model.search.Searcher"/>
|
||||
@@ -164,10 +163,8 @@
|
||||
<extensionPoint name="indexPatternSearch" interface="com.intellij.util.QueryExecutor" dynamic="true"/>
|
||||
|
||||
<extensionPoint name="searchScopesProvider" interface="com.intellij.psi.search.SearchScopeProvider"/>
|
||||
<extensionPoint name="useScopeEnlarger" interface="com.intellij.psi.search.UseScopeEnlarger" dynamic="true"/>
|
||||
<extensionPoint name="resolveScopeEnlarger" interface="com.intellij.psi.ResolveScopeEnlarger"/>
|
||||
<extensionPoint name="resolveScopeProvider" interface="com.intellij.psi.ResolveScopeProvider"/>
|
||||
<extensionPoint name="useScopeOptimizer" interface="com.intellij.psi.search.ScopeOptimizer" dynamic="true"/>
|
||||
<extensionPoint name="codeUsageScopeOptimizer" interface="com.intellij.psi.search.ScopeOptimizer" dynamic="true"/>
|
||||
|
||||
<extensionPoint name="generatedSourcesFilter" interface="com.intellij.openapi.roots.GeneratedSourcesFilter" dynamic="true"/>
|
||||
|
||||
@@ -108,9 +108,6 @@
|
||||
<projectService serviceInterface="com.intellij.pom.references.PomService"
|
||||
serviceImplementation="com.intellij.pom.references.PomServiceImpl"/>
|
||||
|
||||
<projectService serviceInterface="com.intellij.psi.search.PsiSearchHelper"
|
||||
serviceImplementation="com.intellij.psi.impl.search.PsiSearchHelperImpl"/>
|
||||
|
||||
<projectService serviceInterface="com.intellij.psi.search.PsiTodoSearchHelper"
|
||||
serviceImplementation="com.intellij.psi.impl.search.PsiTodoSearchHelperImpl"/>
|
||||
|
||||
@@ -325,8 +322,6 @@
|
||||
serviceImplementation="com.intellij.psi.impl.cache.impl.IndexCacheManagerImpl"/>
|
||||
<projectService serviceInterface="com.intellij.psi.impl.cache.TodoCacheManager"
|
||||
serviceImplementation="com.intellij.psi.impl.cache.impl.IndexTodoCacheManagerImpl"/>
|
||||
<projectService serviceInterface="com.intellij.psi.impl.ResolveScopeManager"
|
||||
serviceImplementation="com.intellij.psi.impl.file.impl.ResolveScopeManagerImpl"/>
|
||||
<testSourcesFilter implementation="com.intellij.openapi.roots.ProjectRootTestSourcesFilter"/>
|
||||
<moduleService serviceInterface="com.intellij.openapi.roots.ModuleFileIndex"
|
||||
serviceImplementation="com.intellij.openapi.roots.impl.ModuleFileIndexImpl"/>
|
||||
|
||||
@@ -14,10 +14,6 @@
|
||||
<extensionPoint name="jps.plugin"
|
||||
beanClass="com.intellij.jps.impl.JpsPluginBean"/>
|
||||
|
||||
<extensionPoint name="codeInsight.containerProvider"
|
||||
interface="com.intellij.codeInsight.ContainerProvider"
|
||||
dynamic="true"/>
|
||||
|
||||
<extensionPoint name="preloadingActivity"
|
||||
interface="com.intellij.openapi.application.PreloadingActivity"
|
||||
dynamic="true"/>
|
||||
|
||||
@@ -340,9 +340,6 @@
|
||||
<toolWindow id="Events Watcher" anchor="bottom" canCloseContents="false" doNotActivateOnStart="true"
|
||||
factoryClass="com.intellij.diagnostic.ui.EventsWatcherToolWindowFactory"/>
|
||||
|
||||
<applicationService serviceInterface="com.intellij.ide.plugins.PluginUtil"
|
||||
serviceImplementation="com.intellij.ide.plugins.PluginUtilImpl"/>
|
||||
|
||||
<projectService serviceInterface="com.intellij.openapi.vfs.ReadonlyStatusHandler"
|
||||
serviceImplementation="com.intellij.openapi.vcs.readOnlyHandler.ReadonlyStatusHandlerImpl"/>
|
||||
<projectService serviceInterface="com.intellij.openapi.startup.StartupManager"
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
<referencesSearch implementation="com.jetbrains.python.psi.search.PyInitReferenceSearchExecutor"/>
|
||||
<referencesSearch implementation="com.jetbrains.python.psi.search.PyClassReferenceSearchExecutor"/>
|
||||
<referencesSearch implementation="com.jetbrains.python.psi.search.PyKeywordArgumentSearchExecutor"/>
|
||||
<referencesSearch implementation="com.jetbrains.python.psi.search.PyStringReferenceSearch"/>
|
||||
|
||||
<lang.elementManipulator forClass="com.jetbrains.python.psi.PyStringLiteralExpression"
|
||||
implementationClass="com.jetbrains.python.psi.impl.PyStringLiteralExpressionManipulator"/>
|
||||
|
||||
@@ -457,7 +457,7 @@
|
||||
order="first, before completionAutoPopup"/>
|
||||
|
||||
<referencesSearch implementation="com.jetbrains.python.magicLiteral.PyMagicLiteralReferenceSearcher"/>
|
||||
<referencesSearch implementation="com.jetbrains.python.psi.search.PyStringReferenceSearch"/>
|
||||
|
||||
<findUsagesHandlerFactory implementation="com.jetbrains.python.findUsages.PyFindUsagesHandlerFactory" id="Python"
|
||||
order="last, before default"/>
|
||||
<readWriteAccessDetector implementation="com.jetbrains.python.findUsages.PyReadWriteAccessDetector"/>
|
||||
|
||||
Reference in New Issue
Block a user