2013-08-23 5 views
0

Я хотел бы перечислить всех вызывающих методов из только для родительского интерфейса, , но я не могу найти такую ​​функцию как в Eclipse, так и в IntelliJ, Любой может посоветовать?Найти вызывающих методов из родительского интерфейса в java?

< Ограничение тока> И Eclipse и IntelliJ в использовании шоу/иерархии вызовов/шоу ссылка будет список всех вызывающих абонентов дочерних интерфейсов и родительского интерфейса

< Обход> Мой текущий обходной путь является просто переименовать название метода и проверьте ошибки компиляции на вызывающем абоненте. Но он работает только тогда, когда родительский и дочерний интерфейс имеет тот же метод, , чтобы вызывающие вызовы родительскому методу имели ошибку, в то время как вызывающие абоненты для дочернего не будут.

, например. интерфейс B расширяет интерфейс A

A есть doX() способ, B мог иметь doX() способ, тоже.

Учитывая methodC() вызывает A.doX(), methodD() вызывает B.doX()

Требование: список только methodC()

Спасибо большое:)

+0

Вы говорите о том, как искать исходный код, чтобы узнать, какой клиентский код вызывает его или ходя по трассе стека времени выполнения, чтобы узнать, откуда пришел вызов? – chrylis

+0

Статическая трассировка только на исходный код –

+0

Я не могу говорить для IntelliJ, но на Eclipse щелкните правой кнопкой мыши метод и выберите «Ссылки» -> (область действия). – chrylis

ответ

0
public interface A { 
    void doX(); 
} 

Теперь B,

public interface B extends A{ 
    void doX(); // this will override method in A 
} 

Это может помочь вам выяснить проблему в вашем случае.

+0

. Я думаю, что вы, возможно, неправильно поняли вопрос. – Dukeling

+0

Ручира, может быть, я не говорил четко. Я имею в виду, как найти вызывающего абонента A.doX() существующего интерфейса A. :) –