From 2c17cb7aa7ebc3a0526afe4f741c5bd648c01dc9 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 12 Sep 2012 15:10:06 +0400 Subject: [PATCH] Wrap JetLightClass creation in runReadAction No tests added because runReadAction checks are disabled in tests. To reproduce the exception, find usages of Any. --- .../jet/plugin/search/KotlinReferencesSearcher.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/search/KotlinReferencesSearcher.java b/idea/src/org/jetbrains/jet/plugin/search/KotlinReferencesSearcher.java index 5087b65a489..9f3d57f8e4b 100644 --- a/idea/src/org/jetbrains/jet/plugin/search/KotlinReferencesSearcher.java +++ b/idea/src/org/jetbrains/jet/plugin/search/KotlinReferencesSearcher.java @@ -35,11 +35,16 @@ import org.jetbrains.jet.lang.psi.JetNamedFunction; public class KotlinReferencesSearcher extends QueryExecutorBase { @Override public void processQuery(@NotNull ReferencesSearch.SearchParameters queryParameters, @NotNull Processor consumer) { - PsiElement element = queryParameters.getElementToSearch(); + final PsiElement element = queryParameters.getElementToSearch(); if (element instanceof JetClass) { String className = ((JetClass) element).getName(); if (className != null) { - JetLightClass lightClass = JetLightClass.wrapDelegate((JetClass) element); + JetLightClass lightClass = ApplicationManager.getApplication().runReadAction(new Computable() { + @Override + public JetLightClass compute() { + return JetLightClass.wrapDelegate((JetClass) element); + } + }); if (lightClass != null) { queryParameters.getOptimizer().searchWord(className, queryParameters.getScope(), true, lightClass); }