blob: 11fb02a114d15b787ba8e543ca70e196c69905c4 [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="s3.2.d.html" rel="prev">&lt;&lt;&nbsp;&sect;3.2.(d)&nbsp;Visible names</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="s3.html" rel="section">&sect;3&nbsp;Callout Binding</a>&nbsp;&gt;&nbsp;<a class="nav" href="s3.2.html" rel="section">&sect;3.2&nbsp;Callout parameter mapping</a></div>
<div class="subsect depth3" id="s3.2.e">
<h4 class="subsect">&sect;3.2.(e)&nbsp;<span class="title">Implicit parameter mappings</span><a class="img" href="s3.2.e.html"
title="PermaLink to (e)&nbsp;Implicit parameter mappings"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
alt="" /></a></h4>
<p>If parameter mappings should be omitted the following conditions must hold:
</p>
<ol>
<li>each method parameter of the role method must conform to the
corresponding parameter of the base method, <em>and</em></li>
<li>the result type of the base method must conform to the result type
of the role method.
</li>
</ol>
<p>Here conformance includes translation polymorphism (cf. <a href="s3.3.d.html" title="&sect;3.3.(d)&nbsp;Typing rules" class="sect">&sect;3.3.(d)</a>).
<br />
Parameter correspondence without parameter mapping is determined by declaration order not by names.
<br />
Two adjustments can, however, be performed implicitly:
</p>
<ul>
<li>If the role method has more parameters than the base method,
unused trailing parameters may be silently ignored.
</li>
<li>If the role method returns <code>void</code>, any result from
the base method may be silently ignored.
</li>
</ul>
</div>
<table class="nav">
<tr>
<td class="back"><a href="s3.2.d.html" rel="prev">&lt;&lt;&nbsp;&sect;3.2.(d)&nbsp;Visible names</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="s3.html" rel="section">&sect;3&nbsp;Callout Binding</a>&nbsp;&gt;&nbsp;<a class="nav" href="s3.2.html" rel="section">&sect;3.2&nbsp;Callout parameter mapping</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: 2011-05-15
</div>
</body>
</html>