blob: 5b7aa287eedecb90cc022f7efa7caf01b3b588a2 [file] [log] [blame]
<meta name="copyright" content="Copyright Technical University Berlin and others 2004, 2010. This page is made available under the Eclipse Public License v1.0. For full details see" />
<link rel=stylesheet type="text/css" href="../css/book.css">
<title>Object Teams Type Hierarchy</title>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<style type="text/css">
h2 {color: blue}
h3 {color: green}
<h1>Object Teams Type Hierarchy</h1>
The <b>Object Teams type hierarchy</b> provides the following features
(in addition to the features of the standard JDT
<a href="/help/topic/org.eclipse.jdt.doc.user/reference/ref-type-hierarchy.htm">
type hierarchy view</a>):
<h3>Type hierarchy tree:</h3>
<li>shows <b>supertype/subtype hierarchy</b> of Object Teams types (team classes,
role classes)
<li>shows full <b>role type hierarchy</b> incl. <b>implicit inheritance</b></li>
<li>displays <b>Object Teams specific icons</b> for team classes, role classes and
method bindings
<h3>Member list (method viewer):</h3>
<li>shows <b>methods</b> in hierachy</li>
<li>shows <b>implicitly inherited methods</b></li>
<li>shows <b>method bindings</b></li>
<li>shows <b>inherited method bindings</b></li>
<h2>Opening a type hierarchy on the current text selection</h2>
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:
<li>Press <b>F4</b></li>
<li>select <b>Open Type Hierarchy</b> from the package explorer's pop-up menu</li>
<b>Note</b>: 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.
<strong>Type hierarchy</strong>:<br>
<img src="images/screenshots/typeHierarchy.jpg"
styles="left" alt="Object Teams type hierarchy view">
<strong>Role hierarchy</strong>:<br>
<img src="images/screenshots/implicitRoleHierarchy.jpg"
styles="bottom" alt="Object Teams implicit role hierarchy view">
Note, that for roles, the super types are not restricted to a linear chain, but due to combination
of explicit and implicit inheritance (<a href="otjld/def/s1.html#s1.3.1">OTJLD &sect;1.3.1 </a>)
a role may have multiple supers. E.g., in the picture, <code>HierarchyDisplayImpl.CompositeNode</code>
explicitly inherits from <code>HierarchyDisplayImpl.Node</code> and implicitly
inherits from <code>HierarchyDisplay.CompositeNode</code>.