Bug 94698 [5.0] Mark inherited members doesn't work for parameterized types
I20050509-2010 public class MyList extends ArrayList<String> implements List<String> { @Override public boolean add(String o) { // TODO Auto-generated method stub return super.add(o); } } Neiter selecting ArrayList nor List marks the method add(String o). However this method overrides the method from ArrayList and implements the one from List.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/search/ImplementOccurrencesFinder.java
/*
		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.TypeDeclarationStatement)
		 */
		public boolean visit(TypeDeclarationStatement node) {
			
			return false;
		}
	}
	
	
	private ASTNode fStart;
	private List fResult;
	private Name fSelectedName;
	private ITypeBinding fSelectedType;
	
	public ImplementOccurrencesFinder() {
		fResult= new ArrayList();
	}
	
	public String initialize(CompilationUnit root, int offset, int length) {
		ASTNode node= NodeFinder.perform(root, offset, length);
		if (!(node instanceof Name))
			return SearchMessages.ImplementOccurrencesFinder_invalidTarget;  
		fSelectedName= ASTNodes.getTopMostName((Name)node);
		ASTNode parent= fSelectedName.getParent();
		if (!(parent instanceof SimpleType))
			return SearchMessages.ImplementOccurrencesFinder_invalidTarget;  
		ASTNode typeDeclaration= parent.getParent();
		if (!(typeDeclaration instanceof AbstractTypeDeclaration))
			return SearchMessages.ImplementOccurrencesFinder_invalidTarget;