spi: decline abstract classes, suggest all available inheritors (IDEA-115502)

This commit is contained in:
anna
2013-11-11 12:06:47 +01:00
parent eeaee1e970
commit a69a88a032
@@ -45,11 +45,13 @@ public class SPIClassProviderReferenceElement extends SPIPackageOrClassReference
ClassInheritorsSearch.search(superProvider).forEach(new Processor<PsiClass>() {
@Override
public boolean process(PsiClass psiClass) {
final String jvmClassName = ClassUtil.getJVMClassName(psiClass);
if (jvmClassName != null) {
result.add(LookupElementBuilder.create(psiClass, jvmClassName));
if (!psiClass.hasModifierProperty(PsiModifier.ABSTRACT)) {
final String jvmClassName = ClassUtil.getJVMClassName(psiClass);
if (jvmClassName != null) {
result.add(LookupElementBuilder.create(psiClass, jvmClassName));
}
}
return false;
return true;
}
});
return ArrayUtil.toObjectArray(result);