RFR: 8071693: Introspector ignores default interface methods [v5]

Alexey Ivanov aivanov at openjdk.org
Mon Apr 24 17:34:48 UTC 2023


On Fri, 21 Apr 2023 20:27:57 GMT, Archie Cobbs <acobbs at openjdk.org> wrote:

>> The `Introspector` class was never updated to include `default` methods inherited from interfaces.
>> 
>> This patch attempts to fix that omission.
>
> Archie Cobbs has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains eight additional commits since the last revision:
> 
>  - Add comment describing what IGNORABLE_INTERFACES is for.
>  - Put braces around single-line "if" statement clauses in test.
>  - Merge branch 'master' into JDK-8071693
>  - Verify static method is not mistakenly identified as property getter.
>  - Use Modifier.isAbstract() convenience method instead of bit masking test.
>  - Put braces around single-line "if" statement clauses.
>  - Use Set.of() to initialize IGNORABLE_INTERFACES set.
>  - Include default methods inherited from interfaces in bean introspection.

Marked as reviewed by aivanov (Reviewer).

src/java.desktop/share/classes/com/sun/beans/introspect/MethodInfo.java line 111:

> 109:             for (Class<?> iface : type.getInterfaces()) {
> 110:                 if (IGNORABLE_INTERFACES.contains(iface))
> 111:                     continue;

Suggestion:

                if (IGNORABLE_INTERFACES.contains(iface)) {
                    continue;
                }

-------------

PR Review: https://git.openjdk.org/jdk/pull/13544#pullrequestreview-1398503534
PR Review Comment: https://git.openjdk.org/jdk/pull/13544#discussion_r1175593473



More information about the client-libs-dev mailing list