RFR: 8347826: Introspector shows wrong method list after 8071693 [v11]

Roman Marchenko rmarchenko at openjdk.org
Wed Apr 2 10:03:43 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 incrementally with one additional commit since the last revision:

  Implementing new requirements

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/23443/files
  - new: https://git.openjdk.org/jdk/pull/23443/files/4f29444a..cd00cee2

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=23443&range=10
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23443&range=09-10

  Stats: 31 lines in 3 files changed: 27 ins; 0 del; 4 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