mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
QuickFixFactoryImpl#createOptimizeImportsFix: anonymous class extracted to avoid capturing the factory
GitOrigin-RevId: 94824e6508dd832707a52d519558ac323d10dcad
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e0614baee3
commit
cc1231f71d
+34
-28
@@ -608,34 +608,7 @@ public class QuickFixFactoryImpl extends QuickFixFactory {
|
||||
@NotNull
|
||||
@Override
|
||||
public IntentionAction createOptimizeImportsFix(final boolean onTheFly) {
|
||||
return new IntentionAction() {
|
||||
@NotNull
|
||||
@Override
|
||||
public String getText() {
|
||||
return QuickFixBundle.message("optimize.imports.fix");
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getFamilyName() {
|
||||
return QuickFixBundle.message("optimize.imports.fix");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) {
|
||||
return (!onTheFly || timeToOptimizeImports(file)) && file instanceof PsiJavaFile && BaseIntentionAction.canModify(file);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull final Project project, final Editor editor, final PsiFile file) throws IncorrectOperationException {
|
||||
invokeOnTheFlyImportOptimizer(file);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean startInWriteAction() {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
return new OptimizeImportsAction(onTheFly);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -911,4 +884,37 @@ public class QuickFixFactoryImpl extends QuickFixFactory {
|
||||
public IntentionAction createAddEmptyRecordHeaderFix(PsiClass psiClass) {
|
||||
return new AddEmptyRecordHeaderFix(psiClass);
|
||||
}
|
||||
|
||||
private static class OptimizeImportsAction implements IntentionAction {
|
||||
private final boolean myOnTheFly;
|
||||
|
||||
public OptimizeImportsAction(boolean onTheFly) {myOnTheFly = onTheFly;}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getText() {
|
||||
return QuickFixBundle.message("optimize.imports.fix");
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getFamilyName() {
|
||||
return QuickFixBundle.message("optimize.imports.fix");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) {
|
||||
return (!myOnTheFly || timeToOptimizeImports(file)) && file instanceof PsiJavaFile && BaseIntentionAction.canModify(file);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull final Project project, final Editor editor, final PsiFile file) throws IncorrectOperationException {
|
||||
invokeOnTheFlyImportOptimizer(file);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean startInWriteAction() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user