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

Sergey Bylokhov serb at openjdk.org
Wed Mar 26 18:29:14 UTC 2025


On Wed, 26 Mar 2025 08:25:13 GMT, Roman Marchenko <rmarchenko at openjdk.org> wrote:

>> I wonder if we can return non-public or static methods from non-exported interface? In other words are the checks `!Modifier.isAbstract(method.getModifiers()) && !method.isBridge()` are good enough?
>
> There is the static method is the test scenario 1. Also there is the test scenario 7 to show that `method.isDefault()` is not enough here.
> 
> OK, I'd add the following methods to `interface A4`:
> 
>         public static int getStaticValue() {
>             return 0;
>         }
>         private int getPrivateValue() {
>             return 0;
>         }
> 
> Is this the case you're thinking of?
> 
> Redarding properties, I think the implementation is OK. The only question in this case is should `getMethodDescriptors()` contain the static method (`public static int DefaultMethodBeanPropertyTest$A4.getStaticValue()`) or not?

Let me try experimenting with that.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23443#discussion_r2014780939


More information about the client-libs-dev mailing list