Fix searching for overridden methods.

If the superclass is an abstract class, we want to search it for
possibly overridden methods; we don't want to search ourselves.

This bug resulted in (incorrectly) thinking that overridden "default"
methods from interfaces were standalone methods on the class.  (The
expected behavior has always been to omit any overridden methods from
the public API surface area to avoid redundant noise.)

Also fix another bug that was quietly letting overridden methods
change return types or exceptions without calling them out as API
changes.

Test: make update-api
Bug: 62675475
Change-Id: Ib789fcd6820a34208bb08e1391026c90a2891a37
2 files changed