blob: 8ec1a3aef447070c4f454901d94af0d76f1bccdd [file] [log] [blame]
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "../xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="../css/ot.css" />
<link rel="stylesheet" type="text/css" href="../css/otjld.css" />
<title>OT/J Language Definition v1.3.1</title>
</head>
<body class="otdt">
<div id="content">
<div class="headl">
<div class="headr">
<h1>Table of Contents</h1>
</div>
</div>
<div class="toc depth1"><a href="s0.html" rel="section">&sect;0&nbsp;About this Document</a></div>
<div class="toc depth2"><a href="s0.html#s0.1" rel="section">&sect;0.1&nbsp;Purpose(s) of this document</a></div>
<div class="toc depth2"><a href="s0.html#s0.2" rel="section">&sect;0.2&nbsp;Text structure</a></div>
<div class="toc depth2"><a href="s0.html#s0.3" rel="section">&sect;0.3&nbsp;Compiler messages</a></div>
<div class="toc depth2"><a href="s0.html#s0.4" rel="section">&sect;0.4&nbsp;Versions</a></div>
<div class="toc depth2"><a href="s0.html#s0.5" rel="section">&sect;0.5&nbsp;Publishing</a></div>
<div class="toc depth1"><a href="s1.html" rel="section">&sect;1&nbsp;Teams and Roles</a></div>
<div class="toc depth2"><a href="s1.html#s1.1" rel="section">&sect;1.1&nbsp;Team classes</a></div>
<div class="toc depth2"><a href="s1.html#s1.2" rel="section">&sect;1.2&nbsp;Role classes and objects</a></div>
<div class="toc depth3"><a href="s1.html#s1.2.1" rel="section">&sect;1.2.1&nbsp;Modifiers for roles</a></div>
<div class="toc depth3"><a href="s1.html#s1.2.2" rel="section">&sect;1.2.2&nbsp;Externalized roles</a></div>
<div class="toc depth3"><a href="s1.html#s1.2.3" rel="section">&sect;1.2.3&nbsp;Protected roles</a></div>
<div class="toc depth3"><a href="s1.html#s1.2.4" rel="section">&sect;1.2.4&nbsp;Type tests and casts</a></div>
<div class="toc depth3"><a href="s1.html#s1.2.5" rel="section">&sect;1.2.5&nbsp;File structure</a></div>
<div class="toc depth2"><a href="s1.html#s1.3" rel="section">&sect;1.3&nbsp;Acquisition and implicit inheritance of role classes</a></div>
<div class="toc depth3"><a href="s1.html#s1.3.1" rel="section">&sect;1.3.1&nbsp;Acquisition and implicit inheritance of role classes</a></div>
<div class="toc depth3"><a href="s1.html#s1.3.2" rel="section">&sect;1.3.2&nbsp;Regular role inheritance</a></div>
<div class="toc depth2"><a href="s1.html#s1.4" rel="section">&sect;1.4&nbsp;Name clashes</a></div>
<div class="toc depth2"><a href="s1.html#s1.5" rel="section">&sect;1.5&nbsp;Team and role nesting</a></div>
<div class="toc depth1"><a href="s2.html" rel="section">&sect;2&nbsp;Role Binding</a></div>
<div class="toc depth2"><a href="s2.html#s2.1" rel="section">&sect;2.1&nbsp;playedBy relation</a></div>
<div class="toc depth3"><a href="s2.html#s2.1.1" rel="section">&sect;2.1.1&nbsp;Binding interfaces</a></div>
<div class="toc depth3"><a href="s2.html#s2.1.2" rel="section">&sect;2.1.2&nbsp;Legal base classes</a></div>
<div class="toc depth2"><a href="s2.html#s2.2" rel="section">&sect;2.2&nbsp;Lowering</a></div>
<div class="toc depth2"><a href="s2.html#s2.3" rel="section">&sect;2.3&nbsp;Lifting</a></div>
<div class="toc depth3"><a href="s2.html#s2.3.1" rel="section">&sect;2.3.1&nbsp;Implicit role creation</a></div>
<div class="toc depth3"><a href="s2.html#s2.3.2" rel="section">&sect;2.3.2&nbsp;Declared lifting</a></div>
<div class="toc depth3"><a href="s2.html#s2.3.3" rel="section">&sect;2.3.3&nbsp;Smart lifting</a></div>
<div class="toc depth3"><a href="s2.html#s2.3.4" rel="section">&sect;2.3.4&nbsp;Binding ambiguities</a></div>
<div class="toc depth3"><a href="s2.html#s2.3.5" rel="section">&sect;2.3.5&nbsp;Consequences of lifting problems</a></div>
<div class="toc depth2"><a href="s2.html#s2.4" rel="section">&sect;2.4&nbsp;Explicit role creation</a></div>
<div class="toc depth3"><a href="s2.html#s2.4.1" rel="section">&sect;2.4.1&nbsp;Role creation via a lifting constructor</a></div>
<div class="toc depth3"><a href="s2.html#s2.4.2" rel="section">&sect;2.4.2&nbsp;Role creation via a regular constructor</a></div>
<div class="toc depth3"><a href="s2.html#s2.4.3" rel="section">&sect;2.4.3&nbsp;Role creation in the presence of smart lifting</a></div>
<div class="toc depth2"><a href="s2.html#s2.5" rel="section">&sect;2.5&nbsp;Abstract Roles</a></div>
<div class="toc depth2"><a href="s2.html#s2.6" rel="section">&sect;2.6&nbsp;Explicit base references</a></div>
<div class="toc depth2"><a href="s2.html#s2.7" rel="section">&sect;2.7&nbsp;Advanced structures</a></div>
<div class="toc depth1"><a href="s3.html" rel="section">&sect;3&nbsp;Callout Binding</a></div>
<div class="toc depth2"><a href="s3.html#s3.1" rel="section">&sect;3.1&nbsp;Callout method binding</a></div>
<div class="toc depth2"><a href="s3.html#s3.2" rel="section">&sect;3.2&nbsp;Callout parameter mapping</a></div>
<div class="toc depth2"><a href="s3.html#s3.3" rel="section">&sect;3.3&nbsp;Lifting and lowering</a></div>
<div class="toc depth2"><a href="s3.html#s3.4" rel="section">&sect;3.4&nbsp;Overriding access restrictions</a></div>
<div class="toc depth2"><a href="s3.html#s3.5" rel="section">&sect;3.5&nbsp;Callout to field</a></div>
<div class="toc depth1"><a href="s4.html" rel="section">&sect;4&nbsp;Callin Binding</a></div>
<div class="toc depth2"><a href="s4.html#s4.1" rel="section">&sect;4.1&nbsp;Callin method binding</a></div>
<div class="toc depth2"><a href="s4.html#s4.2" rel="section">&sect;4.2&nbsp;Callin modifiers (before, after, replace)</a></div>
<div class="toc depth2"><a href="s4.html#s4.3" rel="section">&sect;4.3&nbsp;Base calls</a></div>
<div class="toc depth2"><a href="s4.html#s4.4" rel="section">&sect;4.4&nbsp;Callin parameter mapping</a></div>
<div class="toc depth2"><a href="s4.html#s4.5" rel="section">&sect;4.5&nbsp;Lifting and lowering</a></div>
<div class="toc depth2"><a href="s4.html#s4.6" rel="section">&sect;4.6&nbsp;Overriding access restrictions</a></div>
<div class="toc depth2"><a href="s4.html#s4.7" rel="section">&sect;4.7&nbsp;Callin binding with static methods</a></div>
<div class="toc depth2"><a href="s4.html#s4.8" rel="section">&sect;4.8&nbsp;Callin precedence</a></div>
<div class="toc depth2"><a href="s4.html#s4.9" rel="section">&sect;4.9&nbsp;Callin inheritance</a></div>
<div class="toc depth3"><a href="s4.html#s4.9.1" rel="section">&sect;4.9.1&nbsp;Base side inheritance</a></div>
<div class="toc depth3"><a href="s4.html#s4.9.2" rel="section">&sect;4.9.2&nbsp;Role side inheritance</a></div>
<div class="toc depth3"><a href="s4.html#s4.9.3" rel="section">&sect;4.9.3&nbsp;Covariant return types</a></div>
<div class="toc depth2"><a href="s4.html#s4.10" rel="section">&sect;4.10&nbsp;Generic callin bindings</a></div>
<div class="toc depth1"><a href="s5.html" rel="section">&sect;5&nbsp;Team Activation</a></div>
<div class="toc depth2"><a href="s5.html#s5.1" rel="section">&sect;5.1&nbsp;Effect of team activation</a></div>
<div class="toc depth3"><a href="s5.html#s5.1.1" rel="section">&sect;5.1.1&nbsp;Global vs. thread local team activation</a></div>
<div class="toc depth3"><a href="s5.html#s5.1.2" rel="section">&sect;5.1.2&nbsp;Effect on garbage collection</a></div>
<div class="toc depth2"><a href="s5.html#s5.2" rel="section">&sect;5.2&nbsp;Explicit team activation</a></div>
<div class="toc depth2"><a href="s5.html#s5.3" rel="section">&sect;5.3&nbsp;Implicit team activation</a></div>
<div class="toc depth2"><a href="s5.html#s5.4" rel="section">&sect;5.4&nbsp;Guard predicates</a></div>
<div class="toc depth3"><a href="s5.html#s5.4.1" rel="section">&sect;5.4.1&nbsp;Regular guards</a></div>
<div class="toc depth3"><a href="s5.html#s5.4.2" rel="section">&sect;5.4.2&nbsp;Base guards</a></div>
<div class="toc depth3"><a href="s5.html#s5.4.3" rel="section">&sect;5.4.3&nbsp;Multiple guards</a></div>
<div class="toc depth2"><a href="s5.html#s5.5" rel="section">&sect;5.5&nbsp;Unanticipated team activation</a></div>
<div class="toc depth1"><a href="s6.html" rel="section">&sect;6&nbsp;Object Teams API</a></div>
<div class="toc depth2"><a href="s6.html#s6.1" rel="section">&sect;6.1&nbsp;Reflection</a></div>
<div class="toc depth2"><a href="s6.html#s6.2" rel="section">&sect;6.2&nbsp;Other API Elements</a></div>
<div class="toc depth2"><a href="s6.html#s6.3" rel="section">&sect;6.3&nbsp;Annotations</a></div>
<div class="toc depth1"><a href="s7.html" rel="section">&sect;7&nbsp;Role Encapsulation</a></div>
<div class="toc depth2"><a href="s7.html#s7.1" rel="section">&sect;7.1&nbsp;Opaque roles</a></div>
<div class="toc depth2"><a href="s7.html#s7.2" rel="section">&sect;7.2&nbsp;Confined roles</a></div>
<div class="toc depth1"><a href="s8.html" rel="section">&sect;8&nbsp;Join Point Queries</a></div>
<div class="toc depth2"><a href="s8.html#s8.1" rel="section">&sect;8.1&nbsp;Join point queries</a></div>
<div class="toc depth2"><a href="s8.html#s8.2" rel="section">&sect;8.2&nbsp;Query expressions</a></div>
<div class="toc depth2"><a href="s8.html#s8.3" rel="section">&sect;8.3&nbsp;OT/J meta model</a></div>
<div class="toc depth1"><a href="s9.html" rel="section">&sect;9&nbsp;Value Dependent Classes</a></div>
<div class="toc depth2"><a href="s9.html#s9.1" rel="section">&sect;9.1&nbsp;Defining classes with value parameters</a></div>
<div class="toc depth2"><a href="s9.html#s9.2" rel="section">&sect;9.2&nbsp;Using classes with value parameters</a></div>
<div class="toc depth3"><a href="s9.html#s9.2.1" rel="section">&sect;9.2.1&nbsp;Parameter substitution</a></div>
<div class="toc depth3"><a href="s9.html#s9.2.2" rel="section">&sect;9.2.2&nbsp;Type conformance</a></div>
<div class="toc depth2"><a href="s9.html#s9.3" rel="section">&sect;9.3&nbsp;Restrictions and limitations</a></div>
<div class="toc depth1"><a href="sA.html" rel="section">&sect;A&nbsp;OT/J Syntax</a></div>
<div class="toc depth2"><a href="sA.html#sA.0" rel="section">&sect;A.0&nbsp;Keywords</a></div>
<div class="toc depth3"><a href="sA.html#sA.0.1" rel="section">&sect;A.0.1&nbsp;Scoped keywords</a></div>
<div class="toc depth3"><a href="sA.html#sA.0.2" rel="section">&sect;A.0.2&nbsp;Inheriting scoped keywords</a></div>
<div class="toc depth3"><a href="sA.html#sA.0.3" rel="section">&sect;A.0.3&nbsp;Internal names</a></div>
<div class="toc depth2"><a href="sA.html#sA.1" rel="section">&sect;A.1&nbsp;Class definitions</a></div>
<div class="toc depth2"><a href="sA.html#sA.2" rel="section">&sect;A.2&nbsp;Modifiers</a></div>
<div class="toc depth2"><a href="sA.html#sA.3" rel="section">&sect;A.3&nbsp;Method bindings</a></div>
<div class="toc depth2"><a href="sA.html#sA.4" rel="section">&sect;A.4&nbsp;Parameter mappings</a></div>
<div class="toc depth2"><a href="sA.html#sA.5" rel="section">&sect;A.5&nbsp;Statements</a></div>
<div class="toc depth2"><a href="sA.html#sA.6" rel="section">&sect;A.6&nbsp;Types</a></div>
<div class="toc depth2"><a href="sA.html#sA.7" rel="section">&sect;A.7&nbsp;Guard predicates</a></div>
<div class="toc depth2"><a href="sA.html#sA.8" rel="section">&sect;A.8&nbsp;Precedence declaration</a></div>
<div class="toc depth2"><a href="sA.html#sA.9" rel="section">&sect;A.9&nbsp;Value dependent types</a></div>
<div class="toc depth2"><a href="sA.html#sA.10" rel="section">&sect;A.10&nbsp;Packages and imports</a></div>
<div class="toc depth1"><a href="sB.html" rel="section">&sect;B&nbsp;Changes between versions</a></div>
<div class="toc depth2"><a href="sB.html#sB.1" rel="section">&sect;B.1&nbsp;Paragraphs changed between versions</a></div>
<div class="toc depth2"><a href="sB.html#sB.2" rel="section">&sect;B.2&nbsp;Additions between versions</a></div>
</div>
<div id="footer">
<hr /><a class="w3c img" href="http://jigsaw.w3.org/css-validator/check/referer"
shape="rect"><img src="../images/valid-css2-blue.png" alt="Valid CSS!" height="31" width="88" /></a><a class="w3c img" href="http://validator.w3.org/check?uri=referer" shape="rect"><img src="../images/valid-xhtml10-blue.png" alt="Valid XHTML 1.0 Strict" height="31"
width="88" /></a><address>&copy; Stephan Herrmann, Christine Hundt, Marco Mosconi</address>
OT/J version 1.3.1 &mdash; last modified: 2013-05-28
</div>
</body>
</html>