mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-05 16:36:56 +07:00
[java] More tests for preview; minor fixes
GitOrigin-RevId: 7f72c5f68ab821e728eb0d5152f0910f48035046
This commit is contained in:
committed by
intellij-monorepo-bot
parent
7a1f179f41
commit
9c6aeba5b4
@@ -4,12 +4,15 @@ package com.intellij.codeInspection;
|
||||
import com.intellij.codeInsight.AnnotationUtil;
|
||||
import com.intellij.codeInsight.ExternalAnnotationsManager;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.preview.IntentionPreviewInfo;
|
||||
import com.intellij.codeInspection.nullable.AnnotateOverriddenMethodParameterFix;
|
||||
import com.intellij.java.analysis.JavaAnalysisBundle;
|
||||
import com.intellij.openapi.application.WriteAction;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.util.ObjectUtils;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import one.util.streamex.StreamEx;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -47,6 +50,18 @@ public class RemoveAnnotationQuickFix implements LocalQuickFix {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull IntentionPreviewInfo generatePreview(@NotNull Project project, @NotNull ProblemDescriptor previewDescriptor) {
|
||||
PsiJavaFile file = ObjectUtils.tryCast(previewDescriptor.getStartElement().getContainingFile(), PsiJavaFile.class);
|
||||
if (file == null) return IntentionPreviewInfo.DIFF;
|
||||
PsiAnnotation annotation = myAnnotation.getElement();
|
||||
if (annotation == null || annotation.getContainingFile() != file.getOriginalFile()) return IntentionPreviewInfo.EMPTY;
|
||||
PsiAnnotation copy = PsiTreeUtil.findSameElementInCopy(annotation, file);
|
||||
copy.delete();
|
||||
JavaCodeStyleManager.getInstance(project).removeRedundantImports(file);
|
||||
return IntentionPreviewInfo.DIFF;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
|
||||
PsiAnnotation annotation = myAnnotation.getElement();
|
||||
|
||||
Reference in New Issue
Block a user