Wrap JetLightClass creation in runReadAction
No tests added because runReadAction checks are disabled in tests. To reproduce the exception, find usages of Any.
This commit is contained in:
@@ -35,11 +35,16 @@ import org.jetbrains.jet.lang.psi.JetNamedFunction;
|
|||||||
public class KotlinReferencesSearcher extends QueryExecutorBase<PsiReference, ReferencesSearch.SearchParameters> {
|
public class KotlinReferencesSearcher extends QueryExecutorBase<PsiReference, ReferencesSearch.SearchParameters> {
|
||||||
@Override
|
@Override
|
||||||
public void processQuery(@NotNull ReferencesSearch.SearchParameters queryParameters, @NotNull Processor<PsiReference> consumer) {
|
public void processQuery(@NotNull ReferencesSearch.SearchParameters queryParameters, @NotNull Processor<PsiReference> consumer) {
|
||||||
PsiElement element = queryParameters.getElementToSearch();
|
final PsiElement element = queryParameters.getElementToSearch();
|
||||||
if (element instanceof JetClass) {
|
if (element instanceof JetClass) {
|
||||||
String className = ((JetClass) element).getName();
|
String className = ((JetClass) element).getName();
|
||||||
if (className != null) {
|
if (className != null) {
|
||||||
JetLightClass lightClass = JetLightClass.wrapDelegate((JetClass) element);
|
JetLightClass lightClass = ApplicationManager.getApplication().runReadAction(new Computable<JetLightClass>() {
|
||||||
|
@Override
|
||||||
|
public JetLightClass compute() {
|
||||||
|
return JetLightClass.wrapDelegate((JetClass) element);
|
||||||
|
}
|
||||||
|
});
|
||||||
if (lightClass != null) {
|
if (lightClass != null) {
|
||||||
queryParameters.getOptimizer().searchWord(className, queryParameters.getScope(), true, lightClass);
|
queryParameters.getOptimizer().searchWord(className, queryParameters.getScope(), true, lightClass);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user