blob: 2d95bf2d1a8d1f20b7e981959c0f54b350ff6f37 [file] [log] [blame]
<html>
<head>
<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 http://www.eclipse.org/legal/epl-v10.html" />
<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}
</style>
</head>
<body>
<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="PLUGINS_ROOT/org.eclipse.jdt.doc.user/reference/views/ref-type-hierarchy.htm">
type hierarchy view</a>):
<h3>Type hierarchy tree:</h3>
<ul>
<li>shows <b>supertype/subtype hierarchy</b> of Object Teams types (team classes,
role classes)
</li>
<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
</li>
</ul>
<h3>Member list (method viewer):</h3>
<ul>
<li>shows <b>methods</b> in hierarchy</li>
<li>shows <b>implicitly inherited methods</b></li>
<li>shows <b>method bindings</b></li>
<li>shows <b>inherited method bindings</b></li>
</ul>
<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:
<ul>
<li>Press <b>F4</b></li>
<li>select <b>Open Type Hierarchy</b> from the package explorer's pop-up menu</li>
</ul>
<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.
<p>
<strong>Type hierarchy</strong>:<br>
<img src="images/screenshots/typeHierarchy.jpg"
style="left" alt="Object Teams type hierarchy view">
</p>
<p>
<strong>Role hierarchy</strong>:<br>
<img src="images/screenshots/implicitRoleHierarchy.jpg"
style="bottom" alt="Object Teams implicit role hierarchy view">
</p>
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>.
</body>
</html>