mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 22:51:17 +07:00
Replace grouping elements by their virtual file path to PsiFile in CompatibilityPrintCallQuickFix
PY-65297 GitOrigin-RevId: cc32d7a2099b0f5b08c8e9d2c2a9700febf9e639
This commit is contained in:
committed by
intellij-monorepo-bot
parent
814f4e18c6
commit
8f39e87344
@@ -40,13 +40,12 @@ public class CompatibilityPrintCallQuickFix extends ModCommandBatchQuickFix {
|
||||
public @NotNull ModCommand perform(@NotNull Project project, @NotNull List<ProblemDescriptor> descriptors) {
|
||||
PyElementGenerator elementGenerator = PyElementGenerator.getInstance(project);
|
||||
return ModCommand.psiUpdate(ActionContext.from(descriptors.get(0)), updater -> {
|
||||
List<PsiElement> extractedElements = ContainerUtil.map(descriptors, d -> d.getStartElement());
|
||||
MultiMap<String, PsiElement> groupedElements =
|
||||
ContainerUtil.groupBy(extractedElements, element -> element.getContainingFile().getVirtualFile().getPresentableUrl());
|
||||
for (Map.Entry<String, Collection<PsiElement>> entry : groupedElements.entrySet()) {
|
||||
List<PsiElement> writableElements = ContainerUtil.map(entry.getValue(), element -> updater.getWritable(element));
|
||||
PsiFile file = writableElements.get(0).getContainingFile();
|
||||
for (PsiElement element : writableElements) {
|
||||
List<PsiElement> writableElements = ContainerUtil.map(descriptors, d -> updater.getWritable(d.getStartElement()));
|
||||
MultiMap<PsiFile, PsiElement> groupedElements =
|
||||
ContainerUtil.groupBy(writableElements, element -> element.getContainingFile());
|
||||
for (Map.Entry<PsiFile, Collection<PsiElement>> entry : groupedElements.entrySet()) {
|
||||
PsiFile file = entry.getKey();
|
||||
for (PsiElement element : entry.getValue()) {
|
||||
if (element.isValid()) {
|
||||
replace(element, elementGenerator);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user