On Thu, 24 Mar 2022 14:51:25 GMT, Jonathan Gibbons <j...@openjdk.org> wrote:
>> Is there a suitable term we could use to describe this _ancestry_ >> information? We are specifically interested in a superclass-subclass chain >> that connects a class in question with java.lang.Object. > > `class hierarchy` ? > `superclass chain` ? > `superclasses` ? > `inheritance chain` ? > `list of superclasses` ? > `ancestors` ? > `inheritance list` ? > `superclass list` ? > > > > 'inheritance` isn't a bad word, it just doesn't work as a noun in this > context. The problem is using it with `tree`, since the superclass-subclass > chain is a degenerate tree that is a list. If we look at the terms available in JLS, what about "All Extended Classes" in jdk.javadoc codebase **and** the generated documentation? (Currently, "Inheritance Tree" is used as a tooltip title of the respective region.) "All Extended Classes" goes nicely with "All Implemented Interfaces". Alternatively, we could use Superclasses and Superinterfaces as per https://docs.oracle.com/javase/specs/jls/se18/html/jls-8.html#jls-8.1.4. No matter which of those two we choose, it might feel awkward because of the inherent (no pun intended) asymmetry between classes and interfaces: there can be only one direct superclass but multiple direct superinterfaces. ------------- PR: https://git.openjdk.java.net/jdk/pull/7843