RFR: 8347826: Introspector shows wrong method list after 8071693 [v10]
Roman Marchenko
rmarchenko at openjdk.org
Thu Mar 27 06:47:17 UTC 2025
> Fixed `com.sun.beans.introspect.MethodInfo#MethodOrder` to make `Introspector.addMethod()` working properly when filtering methods out.
>
> Also, after PR discussion, added the approptiate test cases with corresponding fixes in MethodInfo.java and PropertyInfo.java.
>
> ---------
> `getMethodDescriptors()` returns descriptors of public methods of a class and its parent classes, including default methods defined in interfaces. The result doesn't include methods which were declared and not implemented, bridge methods, or methods which were overriden in subclasses.
>
> `getPropertyDescriptors()` returns descriptors of methods which were identified as getters or setters. As there can be the only method getter/setter per property, the following rules are applied when choosing a getter/setter:
>
> * Getters/setters for the same property defined (not necessarily overriden) in subclasses have higher precedence.
> * If there are getters/setters for the same property defined in the same class and argument types are assignable one to another, the method with the Least Common Supertype has the lower priority. If argument types are not assignable, the result is undefined (any method will be chosen).
> * Gettters/setters declared and not implemented are not considered.
Roman Marchenko 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 14 additional commits since the last revision:
- Merge branch 'master' into jdk-8347826
- Fixing review comments
- Fixing review comments 2
- Symmetric fix
- minor fix
- minor fix
- removed unnecessary lines
- copyright year
- Fixing review comments
- new fixes
- ... and 4 more: https://git.openjdk.org/jdk/compare/0320f61b...4f29444a
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/23443/files
- new: https://git.openjdk.org/jdk/pull/23443/files/ec01898a..4f29444a
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=23443&range=09
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=23443&range=08-09
Stats: 174278 lines in 4318 files changed: 74951 ins; 74053 del; 25274 mod
Patch: https://git.openjdk.org/jdk/pull/23443.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23443/head:pull/23443
PR: https://git.openjdk.org/jdk/pull/23443
More information about the client-libs-dev
mailing list