У меня есть метод, который получает объект TypeElement. Этот объект может содержать либо интерфейс, либо абстрактный класс. Любой из них может расширить или реализовать другой интерфейс.
Как получить все нереализованные методы элемента типа, которые у меня есть, включая его суперклассы и интерфейсы? А также убедиться, что каждый метод указан только один раз?
P.S. Иногда методы объявляются в интерфейсах, а затем снова объявляются в абстрактных классах.
Сценарии
abstract class A { ...methods... }
interface B{ ...methods... }`
abstract class A implements B,C { ...methods... }
abstract class A extends B { ...methods... } // B is an abstract class
interface A extends B,C { ...methods... }// B & C are both interfaces