Bug 79989 Should show members of annotation types as public
I20041201 With the following annotation type: public @interface X { int foo(); int bar(); } the members foo() and bar() don't appear public, wherease with the following interface: public interface I { int foo(); int bar(); } the methods foo() and bar() appear public. JavaElementImageProvider#getMethodImageDescriptor(...) checks if the type is an interface. It should also check if the type is an annotation type.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/viewsupport/JavaElementImageProvider.java
return element.getDeclaringType().isInterface();
		}
		return false;
	}	
	
	private static boolean confirmSynchronized(IJavaElement member) {
		
		return member.getElementType() != IJavaElement.TYPE;
	}
	
	
	public static ImageDescriptor getMethodImageDescriptor(boolean isInInterface, int flags) {
		if (Flags.isPublic(flags) || isInInterface)
			return JavaPluginImages.DESC_MISC_PUBLIC;
		if (Flags.isProtected(flags))
			return JavaPluginImages.DESC_MISC_PROTECTED;
		if (Flags.isPrivate(flags))
			return JavaPluginImages.DESC_MISC_PRIVATE;
		
		return JavaPluginImages.DESC_MISC_DEFAULT;
	}
		
	public static ImageDescriptor getFieldImageDescriptor(boolean isInInterface, int flags) {
		if (Flags.isPublic(flags) || isInInterface)
			return JavaPluginImages.DESC_FIELD_PUBLIC;
		if (Flags.isProtected(flags))
			return JavaPluginImages.DESC_FIELD_PROTECTED;
		if (Flags.isPrivate(flags))
			return JavaPluginImages.DESC_FIELD_PRIVATE;