/*
- * Copyright 2000-2016 JetBrains s.r.o.
+ * Copyright 2000-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import com.intellij.ide.util.MemberChooser;
import com.intellij.lang.java.JavaLanguage;
import com.intellij.openapi.application.ApplicationManager;
-import com.intellij.openapi.application.TransactionGuard;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.fileEditor.ex.IdeDocumentHistory;
private static void invoke(final Project project, Editor editor, PsiFile file, boolean isInteractive) {
PsiParameter psiParameter = FieldFromParameterUtils.findParameterAtCursor(file, editor);
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
- TransactionGuard.getInstance().submitTransactionAndWait(() -> {
- final PsiMethod method = psiParameter != null ? (PsiMethod)psiParameter.getDeclarationScope() : PsiTreeUtil.getParentOfType(file.findElementAt(editor.getCaretModel().getOffset()), PsiMethod.class);
- LOG.assertTrue(method != null);
-
- final HashSet<String> usedNames = new HashSet<>();
- final Iterable<PsiParameter> parameters = selectParameters(project, method, copyUnboundedParamsAndClearOriginal(method), isInteractive);
- final MultiMap<PsiType, PsiParameter> types = new MultiMap<>();
- for (PsiParameter parameter : parameters) {
- types.putValue(parameter.getType(), parameter);
- }
- final CodeStyleSettings settings = CodeStyleSettingsManager.getSettings(project);
- final boolean preferLongerNames = settings.PREFER_LONGER_NAMES;
- for (PsiParameter selected : parameters) {
- try {
- settings.PREFER_LONGER_NAMES = preferLongerNames || types.get(selected.getType()).size() > 1;
- processParameter(project, selected, usedNames);
- } finally {
- settings.PREFER_LONGER_NAMES = preferLongerNames;
- }
+ final PsiMethod method = psiParameter != null ? (PsiMethod)psiParameter.getDeclarationScope() : PsiTreeUtil.getParentOfType(file.findElementAt(editor.getCaretModel().getOffset()), PsiMethod.class);
+ LOG.assertTrue(method != null);
+
+ final HashSet<String> usedNames = new HashSet<>();
+ final Iterable<PsiParameter> parameters = selectParameters(project, method, copyUnboundedParamsAndClearOriginal(method), isInteractive);
+ final MultiMap<PsiType, PsiParameter> types = new MultiMap<>();
+ for (PsiParameter parameter : parameters) {
+ types.putValue(parameter.getType(), parameter);
+ }
+ final CodeStyleSettings settings = CodeStyleSettingsManager.getSettings(project);
+ final boolean preferLongerNames = settings.PREFER_LONGER_NAMES;
+ for (PsiParameter selected : parameters) {
+ try {
+ settings.PREFER_LONGER_NAMES = preferLongerNames || types.get(selected.getType()).size() > 1;
+ processParameter(project, selected, usedNames);
+ } finally {
+ settings.PREFER_LONGER_NAMES = preferLongerNames;
}
- });
+ }
}
@NotNull
import com.intellij.featureStatistics.FeatureUsageTrackerImpl;
import com.intellij.injected.editor.EditorWindow;
import com.intellij.lang.injection.InjectedLanguageManager;
+import com.intellij.openapi.application.TransactionGuard;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.diagnostic.Logger;
(psiFile, editor) -> availableFor(psiFile, editor, action)) : Pair.<PsiFile, Editor>create(hostFile, null);
if (pair == null) return false;
- CommandProcessor.getInstance().executeCommand(project, () -> {
+ CommandProcessor.getInstance().executeCommand(project, () -> TransactionGuard.getInstance().submitTransactionAndWait(() -> {
Runnable r = () -> action.invoke(project, pair.second, pair.first);
try {
if (action.startInWriteAction()) {
if (hostEditor != null) {
DaemonCodeAnalyzer.getInstance(project).updateVisibleHighlighters(hostEditor);
}
- }, text, null);
+ }), text, null);
return true;
}
}
import com.intellij.openapi.actionSystem.ex.ActionManagerEx;
import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.application.Result;
+import com.intellij.openapi.application.TransactionGuard;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.command.WriteCommandAction;
@Override
public void launchAction(@NotNull final IntentionAction action) {
- ShowIntentionActionsHandler.chooseActionAndInvoke(getFile(), getEditor(), action, action.getText());
+ TransactionGuard.submitTransaction(getProject(), () -> ShowIntentionActionsHandler.chooseActionAndInvoke(getFile(), getEditor(), action, action.getText()));
UIUtil.dispatchAllInvocationEvents();
}