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/text/correction/LinkedCorrectionProposal.java
import org.eclipse.jdt.internal.corext.codemanipulation.ImportsStructure;
import org.eclipse.jdt.internal.ui.JavaPlugin;
import org.eclipse.jdt.internal.ui.JavaUIStatus;
import org.eclipse.jdt.internal.ui.javaeditor.EditorHighlightingSynchronizer;
import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor;
import org.eclipse.jdt.internal.ui.preferences.JavaPreferencesSettings;
import org.eclipse.jdt.internal.ui.viewsupport.JavaElementImageProvider;
import org.eclipse.jdt.internal.ui.viewsupport.JavaElementLabels;
/**
 * A proposal for quick fixes and quick assists that works on a AST rewriter and enters the
 * linked mode when the proposal is set up.
 * Either a rewriter is directly passed in the constructor or method {@link #getRewrite()} is overridden
 * to provide the AST rewriter that is evaluated to the document when the proposal is
 * applied.
 * @since 3.0
 */
public class LinkedCorrectionProposal extends ASTRewriteCorrectionProposal {
	public static class LinkedModeGroup {
		final List fPositions= new ArrayList(); 
		final List fProposals= new ArrayList(); 
		
		public ITrackedNodePosition[] getPositions() {
			return (ITrackedNodePosition[])fPositions.toArray(new ITrackedNodePosition[fPositions.size()]);
		}
		public IJavaCompletionProposal[] getProposals() {
			return (IJavaCompletionProposal[])fProposals.toArray(new IJavaCompletionProposal[fProposals.size()]);
		}
	}
	
	private static class LinkedModeExitPolicy implements LinkedModeUI.IExitPolicy {