blob: e90de88a185db80872efa4842b799d987f120579 [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</title>
</head>
<body class="otdt">
<div id="content">
<table class="nav">
<tr>
<td class="back"><a id="top"></a><a href="sB.1.2.html" rel="prev">&lt;&lt;&nbsp;&sect;B.1.(2)&nbsp;Between OTJLD 1.1 and OTJLD 1.2</a></td>
<td class="top"><a href="index.html" rel="contents">&uarr;&nbsp;Table of Contents&nbsp;&uarr;</a></td>
<td class="next"></td>
</tr>
</table>
<div class="breadcrumb"><a class="nav" href="sB.html" rel="section">&sect;B&nbsp;Changes between versions</a>&nbsp;&gt;&nbsp;<a class="nav" href="sB.1.html" rel="section">&sect;B.1&nbsp;Paragraphs changed between versions</a></div>
<div class="subsect depth3" id="sB.1.3">
<h4 class="subsect">&sect;B.1.(3)&nbsp;<span class="title">Between OTJLD 1.2 and OTJLD 1.3</span><a class="img" href="sB.1.3.html"
title="PermaLink to (3)&nbsp;Between OTJLD 1.2 and OTJLD 1.3"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
alt="" /></a></h4>
<ul>
<li><a href="s1.2.4.c.html" title="&sect;1.2.4.(c)&nbsp;Class literal"
class="sect">&sect;1.2.4.(c)</a> :
<strong>Syntax for role class literals</strong><p>Previously, the syntax <code>R&lt;@t&gt;.class</code> was not supported.
This restriction has been removed.
</p>
</li>
<li><a href="s1.3.html"
title="&sect;1.3&nbsp;Acquisition and implicit inheritance of role classes"
class="sect">&sect;1.3</a> :
<strong>Teams extending non-team classes</strong><p>Previously, <code>org.objectteams.Team</code> was the super class of all team classes.
As a consequence a team could not extend a non-team class.
This restriction has been removed by introducing a new super-type of all teams,
the interface <code>org.objectteams.ITeam</code>.
This change also affects some paragraphs in <a href="s6.html" title="&sect;6&nbsp;Object Teams API" class="sect">&sect;6</a> as members
have been moved to the new interface.
</p>
</li>
<li><a href="s4.4.c.html"
title="&sect;4.4.(c)&nbsp;Mapping the result of a base method"
class="sect">&sect;4.4.(c)</a> :
<strong>Further restrict result mapping in after callin bindings</strong><p>Clarify that <code>after</code> callin bindings cannot use the <code>-&gt;</code>
token to map a result value.
</p>
</li>
<li><a href="s4.8.a.html" title="&sect;4.8.(a)&nbsp;Precedence declaration"
class="sect">&sect;4.8.(a)</a> :
<strong>Precedence declarations affecting <code>after</code> callin bindings.</strong><p>While previously the effect of precedence declarations was underspecified it has been
defined that the order of elements in a precedence declaration affects their <em>priority</em>
similar to <a href="s5.1.html" title="&sect;5.1&nbsp;Effect of team activation"
class="sect">&sect;5.1</a>. This implies that the execution order for
<code>after</code> bindings is now reversed compared to the previous implementation.
In order to visualize this in the program it is now mandatory to mark precedence declarations
for after bindings with the keyword <code>after</code>.
</p>
</li>
<li><a href="s4.10.html" title="&sect;4.10&nbsp;Generic callin bindings"
class="sect">&sect;4.10</a>, <a href="s4.10.a.html" title="&sect;4.10.(a)&nbsp;Fresh type parameter"
class="sect">&sect;4.10.(a)</a> :
<strong>Generic callin bindings</strong><p>Minor changes to give room for new paragraph <a href="s4.10.e.html" title="&sect;4.10.(e)&nbsp;Propagating type parameters"
class="sect">&sect;4.10.(e)</a>.
</p>
</li>
<li><a href="s5.4.1.a.html" title="&sect;5.4.1.(a)&nbsp;Method binding guards"
class="sect">&sect;5.4.1.(a)</a> :
<strong>Scope of regular binding guard</strong><p>Removed an erroneous sentence about the special identifier <code>result</code> in a regular method binding guard.
Since parameter mappings are applied before evaluating the guard, the result value can be accessed through
a result mapping (<a href="s4.4.c.html"
title="&sect;4.4.(c)&nbsp;Mapping the result of a base method"
class="sect">&sect;4.4.(c)</a>). Furthermore, the sentence actually confused
base and role sides.
</p>
</li>
<li><a href="sA.html#sA.3.2" title="&sect;A.3.2&nbsp;CalloutBinding" class="sect">&sect;A.3.2</a>, <a href="sA.html#sA.3.3" title="&sect;A.3.3&nbsp;Callin binding" class="sect">&sect;A.3.3</a> :
<strong>Syntax: generic method bindings</strong><p>The location of possible type parameters in a method binding has been made explicit.</p>
</li>
</ul>
</div>
<table class="nav">
<tr>
<td class="back"><a href="sB.1.2.html" rel="prev">&lt;&lt;&nbsp;&sect;B.1.(2)&nbsp;Between OTJLD 1.1 and OTJLD 1.2</a></td>
<td class="top"><a href="index.html" rel="contents">&uarr;&nbsp;Table of Contents&nbsp;&uarr;</a></td>
<td class="next"></td>
</tr>
</table>
<div class="breadcrumb"><a class="nav" href="sB.html" rel="section">&sect;B&nbsp;Changes between versions</a>&nbsp;&gt;&nbsp;<a class="nav" href="sB.1.html" rel="section">&sect;B.1&nbsp;Paragraphs changed 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 &mdash; last modified: 2010-05-18
</div>
</body>
</html>