code: public boolean isMemberOf(TypeSymbol clazz, Types types) {
          return
              owner == clazz ||
              clazz.isSubClass(owner, types) &&
              isInheritedIn(clazz, types) &&
              !hiddenIn((ClassSymbol)clazz, types);
      }
docs: Fully check membership: hierarchy, protection, and hiding.
  Does not exclude methods not inherited due to overriding.