java.io.File, and the region the hierarchy was created in is the package fragment java.io, the supertype java.lang.Object will still be included. As a historical quirk, java.lang.Object has always been included in type hierarchies created on interface types. A type hierarchy is static and can become stale. Although consistent when created, it does not automatically track changes in the model. As changes in the model potentially invalidate the hierarchy, change notifications are sent to registered ITypeHierarchyChangedListeners. Listeners should use the exists method to determine if the hierarchy has become completely invalid (for example, when the type or project the hierarchy was created on has been removed). To refresh a hierarchy, use the refresh method.
The type hierarchy may contain cycles due to malformed supertype declarations. Most type hierarchy queries are oblivious to cycles; the getAll* methods are implemented such that they are unaffected by cycles.
| |