On Thu, 30 Jul 2026 18:23:44 GMT, Chen Liang <[email protected]> wrote:

> Introduce an instance method, `isClassOrInterface`, to `java.lang.Class` and 
> `java.lang.invoke.TypeDescriptor$OfField`.
> 
> `java.lang.constant.ClassDesc` comes with an `isClassOrInterface` method. It 
> turns out that such a check is frequently needed in the use of `Class` 
> objects, usually as `isArray() || isPrimitive()` or `!isArray() && 
> !isPrimitive()`, with 14 occurrences in various reflective code.
> 
> In addition, `Class` can offer a more efficient implementation than two 
> checks: it can perform a single bit pattern check to derive this result, 
> making such an API more feasible.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

Tier 1-3 on linux-x64 passes. The direct motivation is that #32086 is going to 
add another check that is directly covered by this API.

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

PR Comment: https://git.openjdk.org/jdk/pull/32109#issuecomment-5134916873

Reply via email to