Bug 267492 - [navigation] Open Implementation should filter duplicates
Summary: [navigation] Open Implementation should filter duplicates
Status: ASSIGNED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 3.5   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: JDT-Text-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-07 05:41 EST by Andrey Loskutov CLA
Modified: 2009-03-10 12:55 EDT (History)
1 user (show)

See Also:


Attachments
Proposal (7.67 KB, image/png)
2009-03-07 05:41 EST, Andrey Loskutov CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Loskutov CLA 2009-03-07 05:41:35 EST
Created attachment 127902 [details]
Proposal

Build ID: I20090304-0834

use Ctrl+Mouse hover on 
ResourcesPlugin.getWorkspace().getRoot().getLocation();

It opens new nice "types implementing" dialog with 1 Resource and 3 WorkspaceRoot matches... Alltough this is a very nice feature, the number of proposals or the way how it is filtered can be improved. 

First of all, I don't care about interfaces/abstract classes which do not override this method. If I would need type hierarchy I would open it, NOT the "implementors" view.

Second, it is hard to find/understand why all the unneded matches are there => too much information is not so good.

I would change the representation and show hierarchy only for classes which really implementing the method, internally skipping all the interfaces etc. In this case, the picture will only show 1 Resource and 1 WorkspaceRoot match (see attached picture).
Comment 1 Dani Megert CLA 2009-03-10 12:11:36 EDT
Note that there are no unwanted matches in there, just duplication because we show the hierarchy and currently reuse the Ctrl+T dialog as we thought it's nice to see where the implementations are situated.

What exactly would you like to see?
Comment 2 Andrey Loskutov CLA 2009-03-10 12:15:19 EDT
(In reply to comment #1)

> What exactly would you like to see?

The bottom part of the attached picture is the information which I would like to see here.

As said before, I would change the representation and show hierarchy only for classes which *really implementing* the method, internally skipping all the interfaces etc. In this case, the picture will only show 1 Resource and 1 WorkspaceRoot match.
 

Comment 3 Dani Megert CLA 2009-03-10 12:20:01 EDT
OK, so you're fine seeing the full hierarchy? There might be many types between A and B that have no implementation (like 'Container' in your example). And you prefer to see the hierarchy compared to just show you a list of implementers?
Comment 4 Andrey Loskutov CLA 2009-03-10 12:55:53 EDT
Sure, a list of implementors would do the job, but tree is much nicer if you have a very common interface (Runnable) and want to have some structure in the result set.

So here is a list of what I want to see:

- The concrete types itself implementing the method (must have)
- The method signatures of implementors to see if their implementation is final (nice to have)
- If the concrete types have parent/child relation, then also nice to have to see them as parent/child (without interfaces) structure