Regression in reflectively finding default methods

Description

introduced a new reflective walk for matching accessible methods but the logic in that walk assumes it will find a method in the superclass hierarchy. If it does not, then it will produce an infinite loop.

This is an example of a concrete class (sun.nio.fs.UnixPath) which has a method startsWith which is declared as a default method on java.nio.file.Path:

Proposed: Instead, should walk all super classes, then walk all interfaces to find an accessible default method.

Patch: clj-2414-2.patch

Environment

Java 9+

Completed

Assignee

Unassigned

Reporter

Alex Miller

Approval

Ok

Patch

Code and Test

Fix versions

Affects versions

Priority

Blocker
Configure