summaryrefslogtreecommitdiff
path: root/platform/lang-impl/src/com/intellij/refactoring
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-impl/src/com/intellij/refactoring')
-rw-r--r--platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java10
-rw-r--r--platform/lang-impl/src/com/intellij/refactoring/rename/RenameProcessor.java23
-rw-r--r--platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java9
3 files changed, 32 insertions, 10 deletions
diff --git a/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java b/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java
index f83dcfe4788f..93921cd6c1dc 100644
--- a/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java
+++ b/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java
@@ -431,8 +431,14 @@ public abstract class BaseRefactoringProcessor implements Runnable {
final Runnable prepareHelpersRunnable = new Runnable() {
@Override
public void run() {
- for (RefactoringHelper helper : Extensions.getExtensions(RefactoringHelper.EP_NAME)) {
- preparedData.put(helper, helper.prepareOperation(writableUsageInfos));
+ for (final RefactoringHelper helper : Extensions.getExtensions(RefactoringHelper.EP_NAME)) {
+ Object operation = ApplicationManager.getApplication().runReadAction(new Computable<Object>() {
+ @Override
+ public Object compute() {
+ return helper.prepareOperation(writableUsageInfos);
+ }
+ });
+ preparedData.put(helper, operation);
}
}
};
diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/RenameProcessor.java b/platform/lang-impl/src/com/intellij/refactoring/rename/RenameProcessor.java
index a34d30dc5401..dd20f5a7d3e7 100644
--- a/platform/lang-impl/src/com/intellij/refactoring/rename/RenameProcessor.java
+++ b/platform/lang-impl/src/com/intellij/refactoring/rename/RenameProcessor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 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.
@@ -25,6 +25,7 @@ import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.MessageType;
import com.intellij.openapi.ui.Messages;
+import com.intellij.openapi.util.Computable;
import com.intellij.openapi.util.Ref;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.wm.IdeFrame;
@@ -184,9 +185,14 @@ public class RenameProcessor extends BaseRefactoringProcessor {
final Runnable runnable = new Runnable() {
@Override
public void run() {
- for (Map.Entry<PsiElement, String> entry : renames.entrySet()) {
+ for (final Map.Entry<PsiElement, String> entry : renames.entrySet()) {
final UsageInfo[] usages =
- RenameUtil.findUsages(entry.getKey(), entry.getValue(), mySearchInComments, mySearchTextOccurrences, myAllRenames);
+ ApplicationManager.getApplication().runReadAction(new Computable<UsageInfo[]>() {
+ @Override
+ public UsageInfo[] compute() {
+ return RenameUtil.findUsages(entry.getKey(), entry.getValue(), mySearchInComments, mySearchTextOccurrences, myAllRenames);
+ }
+ });
Collections.addAll(variableUsages, usages);
}
}
@@ -223,9 +229,14 @@ public class RenameProcessor extends BaseRefactoringProcessor {
final Runnable runnable = new Runnable() {
@Override
public void run() {
- for (final AutomaticRenamer renamer : myRenamers) {
- renamer.findUsages(variableUsages, mySearchInComments, mySearchTextOccurrences, mySkippedUsages, myAllRenames);
- }
+ ApplicationManager.getApplication().runReadAction(new Runnable() {
+ @Override
+ public void run() {
+ for (final AutomaticRenamer renamer : myRenamers) {
+ renamer.findUsages(variableUsages, mySearchInComments, mySearchTextOccurrences, mySkippedUsages, myAllRenames);
+ }
+ }
+ });
}
};
diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java
index 6fa0ed27d8c8..0f9011308533 100644
--- a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java
+++ b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2012 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.
@@ -245,7 +245,12 @@ public class VariableInplaceRenamer extends InplaceRefactoring {
final Runnable runnable = new Runnable() {
@Override
public void run() {
- renamer.findUsages(usages, false, false);
+ ApplicationManager.getApplication().runReadAction(new Runnable() {
+ @Override
+ public void run() {
+ renamer.findUsages(usages, false, false);
+ }
+ });
}
};