summaryrefslogtreecommitdiff
path: root/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/parameterToEntry/ConvertParameterToMapEntryIntention.java
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/parameterToEntry/ConvertParameterToMapEntryIntention.java')
-rw-r--r--plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/parameterToEntry/ConvertParameterToMapEntryIntention.java31
1 files changed, 24 insertions, 7 deletions
diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/parameterToEntry/ConvertParameterToMapEntryIntention.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/parameterToEntry/ConvertParameterToMapEntryIntention.java
index 318db55df11b..befb360e5885 100644
--- a/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/parameterToEntry/ConvertParameterToMapEntryIntention.java
+++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/parameterToEntry/ConvertParameterToMapEntryIntention.java
@@ -23,6 +23,7 @@ import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.progress.Task;
import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.Computable;
import com.intellij.openapi.util.Ref;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.*;
@@ -459,17 +460,33 @@ public class ConvertParameterToMapEntryIntention extends Intention {
}
};
ReferencesSearch.search(namedElem).forEach(consumer);
- if (namedElem instanceof GrField && ((GrField)namedElem).isProperty()) {
- final GrAccessorMethod[] getters = ((GrField)namedElem).getGetters();
+ boolean isProperty = ApplicationManager.getApplication().runReadAction(new Computable<Boolean>() {
+ @Override
+ public Boolean compute() {
+ return namedElem instanceof GrField && ((GrField)namedElem).isProperty();
+ }
+ });
+ if (isProperty) {
+ final GrAccessorMethod[] getters = ApplicationManager.getApplication().runReadAction(new Computable<GrAccessorMethod[]>() {
+ @Override
+ public GrAccessorMethod[] compute() {
+ return ((GrField)namedElem).getGetters();
+ }
+ });
for (GrAccessorMethod getter : getters) {
MethodReferencesSearch.search(getter).forEach(consumer);
}
}
- for (PsiReference reference : references) {
- final PsiElement element = reference.getElement();
- if (element != null) {
- occurrences.add(element);
- }
+ for (final PsiReference reference : references) {
+ ApplicationManager.getApplication().runReadAction(new Runnable() {
+ @Override
+ public void run() {
+ final PsiElement element = reference.getElement();
+ if (element != null) {
+ occurrences.add(element);
+ }
+ }
+ });
}
}