Более интеллектуальное затмение «Открытая иерархия вызовов»? - PullRequest
6 голосов
/ 10 января 2011

Если у меня есть проект Java в Eclipse, я могу щелкнуть правой кнопкой мыши на имени метода и «Открыть иерархию вызовов».Предположим, у меня есть два интерфейса, A и B, которые оба определяют метод x ().Могу ли я сделать так, чтобы Eclipse использовал «Открытую иерархию вызовов» более интеллектуальным способом, чтобы показывать только вызовы x () из A, а не из B?

Ответы [ 3 ]

6 голосов
/ 10 января 2011

Затмение должно уже сделать это.Если вы хотите проверить его, перейдите к интерфейсу A , выберите метод x () и запустите на нем «Открыть иерархию вызовов».Сделайте то же самое для метода x () в интерфейсе B .Вы должны получить разные местоположения кода, если у вас нет класса, который реализует оба, что вы никогда не должны делать.Это не нарушит компиляцию или выполнение, вы просто вдвойне объявите одну и ту же сигнатуру метода.

3 голосов
/ 10 января 2011

Я пробовал это с часто переопределенным методом, toString ().Когда я щелкаю по нему правой кнопкой мыши и выбираю «Открыть иерархию вызовов», Eclipse с радостью просматривает всю мою рабочую область и возвращает все ссылки на сигнатуру этого метода.

Я часто полагаюсь на Eclipse, который идет противоположным путем: я выбираювызов метода и нажмите F3, чтобы открыть объявление.Но я не думаю, что Eclipse может идти в нужном вам направлении, от объявления до вызова.

2 голосов
/ 11 января 2011

Может помочь удалить «Потенциальные совпадения» из результатов поиска.Попробуйте это:

Preferences -> General -> Search

и отметьте «Игнорировать потенциальные совпадения».

...