IAE: ensure valid presentation for local classes

This commit is contained in:
Anna Kozlova
2015-06-18 21:26:52 +03:00
parent 08c44ad2ed
commit ecbb43f6a8
@@ -221,14 +221,7 @@ public class GlobalJavaInspectionContextImpl extends GlobalJavaInspectionContext
for (SmartPsiElementPointer sortedID : sortedIDs) {
final PsiClass psiClass = (PsiClass)dereferenceInReadAction(sortedID);
if (psiClass == null) continue;
context.incrementJobDoneAmount(context.getStdJobDescriptors().FIND_EXTERNAL_USAGES, ApplicationManager.getApplication().runReadAction(
new Computable<String>() {
@Override
public String compute() {
return psiClass.getQualifiedName();
}
}
));
context.incrementJobDoneAmount(context.getStdJobDescriptors().FIND_EXTERNAL_USAGES, getClassPresentableName(psiClass));
final List<DerivedClassesProcessor> processors = myDerivedClassesRequests.get(sortedID);
LOG.assertTrue(processors != null, psiClass.getClass().getName());
@@ -282,14 +275,7 @@ public class GlobalJavaInspectionContextImpl extends GlobalJavaInspectionContext
final List<UsagesProcessor> processors = myClassUsagesRequests.get(sortedID);
LOG.assertTrue(processors != null, psiClass.getClass().getName());
context.incrementJobDoneAmount(context.getStdJobDescriptors().FIND_EXTERNAL_USAGES, ApplicationManager.getApplication().runReadAction(
new Computable<String>() {
@Override
public String compute() {
return psiClass.getQualifiedName();
}
}
));
context.incrementJobDoneAmount(context.getStdJobDescriptors().FIND_EXTERNAL_USAGES, getClassPresentableName(psiClass));
ReferencesSearch.search(psiClass, searchScope, false)
.forEach(new PsiReferenceProcessorAdapter(createReferenceProcessor(processors, context)));
@@ -316,6 +302,18 @@ public class GlobalJavaInspectionContextImpl extends GlobalJavaInspectionContext
}
}
private String getClassPresentableName(final PsiClass psiClass) {
return ApplicationManager.getApplication().runReadAction(
new Computable<String>() {
@Override
public String compute() {
final String qualifiedName = psiClass.getQualifiedName();
return qualifiedName != null ? qualifiedName : psiClass.getName();
}
}
);
}
private static PsiElement dereferenceInReadAction(final SmartPsiElementPointer sortedID) {
return ApplicationManager.getApplication().runReadAction(new Computable<PsiElement>() {
@Override