Bug 6682 Search in Hierarchy does not find Declarations in supers
20011206 - (happened to be on Windows2000) - Open an editor on a class that is in a deep hierarchy (I was in List in the SWT Widget hierarchy) - In the Outline view, select a method that has a declaration in several classes in the hierarchy (I selected createScrollBar(int) - this method is defined in Scrollable and redefined in List) - Context menu -> Declarations -> Hierarchy - It only found the method that was defined in List, and it missed the one that is defined in Scrollable (super of List) I notice that if you select the method (createScrollBar(int))in the superclass (Scrollable) and search for declarations in the hierarchy, it will find all of the methods. So I suspect that the search algorithm is only looking "down" for declarations, when it needs to look "up" as well.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/search/FindDeclarationsInHierarchyAction.java
public FindDeclarationsInHierarchyAction() {
		super(SearchMessages.getString("Search.FindHierarchyDeclarationsAction.label"), new Class[] {IField.class, IMethod.class} ); 
		setToolTipText(SearchMessages.getString("Search.FindHierarchyDeclarationsAction.tooltip")); 
	}
	protected JavaSearchOperation makeOperation(IJavaElement element) throws JavaModelException {
		IType type= getType(element);
		return new JavaSearchOperation(JavaPlugin.getWorkspace(), element, getLimitTo(), getScope(type), getScopeDescription(type), getCollector());
	};
	
	protected IJavaSearchScope getScope(IType type) throws JavaModelException {
		if (type != null)
			return SearchEngine.createHierarchyScope(type);
		else
			return super.getScope(type);
	}
	
	protected String getScopeDescription(IType type) {
		String typeName= ""; 
		if (type != null)
			typeName= type.getElementName();
		return SearchMessages.getFormattedString("HierarchyScope", new String[] {typeName}); 
	}
}