JetDescriptorIconProvider now return abstract icons for abstract functions

This commit is contained in:
Vladimir Rudev
2012-11-04 11:24:45 +04:00
committed by Nikolay Krasko
parent 0be6b8bb22
commit d9d4683989
@@ -49,7 +49,7 @@ public final class JetDescriptorIconProvider {
public static Icon getVisibilityIcon(@NotNull DeclarationDescriptor descriptor) {
if (descriptor instanceof DeclarationDescriptorWithVisibility) {
DeclarationDescriptorWithVisibility descriptorWithVisibility = (DeclarationDescriptorWithVisibility)descriptor;
DeclarationDescriptorWithVisibility descriptorWithVisibility = (DeclarationDescriptorWithVisibility) descriptor;
Visibility visibility = descriptorWithVisibility.getVisibility();
if (visibility == Visibilities.PUBLIC) {
return PlatformIcons.PUBLIC_ICON;
@@ -81,11 +81,20 @@ public final class JetDescriptorIconProvider {
return JetIcons.EXTENSION_FUNCTION;
}
return descriptor.getContainingDeclaration() instanceof ClassDescriptor ?
PlatformIcons.METHOD_ICON : JetIcons.FUNCTION;
if (descriptor.getContainingDeclaration() instanceof ClassDescriptor) {
if (Modality.ABSTRACT == ((FunctionDescriptor) descriptor).getModality()) {
return PlatformIcons.ABSTRACT_METHOD_ICON;
}
else {
return PlatformIcons.METHOD_ICON;
}
}
else {
return JetIcons.FUNCTION;
}
}
if (descriptor instanceof ClassDescriptor) {
switch (((ClassDescriptor)descriptor).getKind()) {
switch (((ClassDescriptor) descriptor).getKind()) {
case TRAIT:
return JetIcons.TRAIT;
case ENUM_CLASS: