# Object Teams Type Hierarchy

The Object Teams type hierarchy provides the following features (in addition to the features of the standard JDT type hierarchy view):

### Type hierarchy tree:

- shows supertype/subtype hierarchy of Object Teams types (team classes, role classes)
- shows full role type hierarchy incl. implicit inheritance
- displays Object Teams specific icons for team classes, role classes and method bindings

### Member list (method viewer):

- shows methods in hierarchy
- shows implicitly inherited methods
- shows method bindings
- shows inherited method bindings

## Opening a type hierarchy on the current text selection

To open a type hierarchy on a text selection, select the name of an Object Teams element or Java element in the editor or package explorer and do one of the following:

- Press F4
- select Open Type Hierarchy from the package explorer's pop-up menu

Note: If the selected Object Teams element or Java element is not a type or a compilation unit, the hierarchy opens on the type enclosing the current selection.

Type hierarchy:

Role hierarchy:

Note, that for roles, the super types are not restricted to a linear chain, but due to combination of explicit and implicit inheritance (OTJLD §1.3.1 ) a role may have multiple supers. E.g., in the picture, `HierarchyDisplayImpl.CompositeNode` explicitly inherits from `HierarchyDisplayImpl.Node` and implicitly inherits from `HierarchyDisplay.CompositeNode`.