summaryrefslogtreecommitdiff
path: root/platform/core-api/src/com/intellij/psi/util/PsiUtilCore.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/core-api/src/com/intellij/psi/util/PsiUtilCore.java')
-rw-r--r--platform/core-api/src/com/intellij/psi/util/PsiUtilCore.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/platform/core-api/src/com/intellij/psi/util/PsiUtilCore.java b/platform/core-api/src/com/intellij/psi/util/PsiUtilCore.java
index 8977da50f0ec..a33cf43573e4 100644
--- a/platform/core-api/src/com/intellij/psi/util/PsiUtilCore.java
+++ b/platform/core-api/src/com/intellij/psi/util/PsiUtilCore.java
@@ -17,9 +17,11 @@ package com.intellij.psi.util;
import com.intellij.lang.ASTNode;
import com.intellij.lang.Language;
+import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Comparing;
+import com.intellij.openapi.util.Computable;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.vfs.VirtualFile;
@@ -516,4 +518,13 @@ public class PsiUtilCore {
}
return findLanguageFromElement(elt);
}
+
+ public static Project getProjectInReadAction(@NotNull final PsiElement element) {
+ return ApplicationManager.getApplication().runReadAction(new Computable<Project>() {
+ @Override
+ public Project compute() {
+ return element.getProject();
+ }
+ });
+ }
}