On Fri, 31 Jul 2026 02:47:06 GMT, Jaikiran Pai <[email protected]> wrote:
>> Chen Liang 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 five additional >> commits since the last revision: >> >> - Update usage in Valhalla >> - Merge branch 'master' of https://github.com/openjdk/jdk into >> feature/class-is-class-or-interface-1 >> - Simplify code >> - Merge branch 'master' of https://github.com/openjdk/jdk into >> feature/class-is-class-or-interface-1 >> - Class.isClassOrInterface > > Hello Chen, at the very least, the name of this new method will need > additional thoughts. The immediate thought that comes to mind when seeing > this method name is how it would behave with `Class` instance which represent > (for example) `enum` or `record`. I think if the goal is to have a method > which guarantees that the type represented by the `Class` instance is not an > array or a primitive, then maybe that detail should be in the method name in > some form. Or maybe a much more formal term (I haven't looked up if there is > any) for such types. > > As for performance motivations for this new API, I don't think that should be > a consideration for this proposal. > > Finally, it's not clear that the current usage patterns like `cls.isArray() > || cls.isPrimitive()` is a (big enough) hassle that it deserves a new Java SE > API. Hello @jaikiran, this method is named because of the name chosen by `ClassDesc::isClassOrInterface`. "Class and interface" are significant enough for special recognition given the fact that they are all derived from `class` files and therefore can declare methods and fields in addition to inheriting them, instead of the status of "not an array or a primitive". I don't think this API introduces confusions with record or enum classes - they are known to be classes per the JLS, and similarly for annotation interfaces, which are known to be interfaces. ------------- PR Comment: https://git.openjdk.org/jdk/pull/32109#issuecomment-5138833667
