<!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">
         <table class="nav">
            <tr>
               <td class="back"><a id="top"></a><a href="s3.2.html" rel="prev">&lt;&lt;&nbsp;&sect;3.2&nbsp;Callout parameter mapping</a></td>
               <td class="top"><a href="index.html" rel="contents">&uarr;&nbsp;Table of Contents&nbsp;&uarr;</a></td>
               <td class="next"><a href="s3.4.html" rel="next">&sect;3.4&nbsp;Overriding access restrictions&nbsp;&gt;&gt;</a></td>
            </tr>
         </table>
         <div class="breadcrumb"><a class="nav" href="s3.html" rel="section">&sect;3&nbsp;Callout Binding</a></div>
         <div class="sect depth2" id="s3.3">
            <h2 class="sect">&sect;3.3&nbsp;Lifting and lowering<a class="img" href="s3.3.html"
                  title="PermaLink to &sect;3.3&nbsp;Lifting and lowering"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
                       alt="" /></a></h2>
            <p> (For basic definitions see <a href="s2.2.html" title="&sect;2.2&nbsp;Lowering" class="sect">&sect;2.2</a> and <a href="s2.3.html" title="&sect;2.3&nbsp;Lifting" class="sect">&sect;2.3</a>)
               		
            </p>
            <div class="subsect depth3" id="s3.3.a">
               <h4 class="subsect">(a)&nbsp;<span class="title">Call target translation</span><a class="img" href="s3.3.a.html"
                     title="PermaLink to (a)&nbsp;Call target translation"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
                          alt="" /></a></h4>
               <p>Invoking a base method due to a callout binding first
                  	    <strong>lowers</strong> the role object in order to obtain the effective call target.
                  			
               </p>
            </div>
            <div class="subsect depth3" id="s3.3.b">
               <h4 class="subsect">(b)&nbsp;<span class="title">Parameter translation</span><a class="img" href="s3.3.b.html"
                     title="PermaLink to (b)&nbsp;Parameter translation"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
                          alt="" /></a></h4>
               <p>Passing a role object as parameter to a callout method implicitly <strong>lowers</strong>
                  	    this parameter, if the base method declares a corresponding base type parameter.
                  	    <br />
                  Lifting of callout parameters is not possible.
                  			
               </p>
            </div>
            <div class="subsect depth3" id="s3.3.c">
               <h4 class="subsect">(c)&nbsp;<span class="title">Result translation</span><a class="img" href="s3.3.c.html"
                     title="PermaLink to (c)&nbsp;Result translation"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
                          alt="" /></a></h4>
               <p> When returning a base object from a callout method where the role
                  	    method declares the result to be of a role class,
                  	    this object is implicitly <strong>lifted</strong> to the appropriate role.
                  	    <br />
                  Lowering the result of a callout binding is not possible.
                  			
               </p>
            </div>
            <div class="subsect depth3" id="s3.3.d">
               <h4 class="subsect">(d)&nbsp;<span class="title">Typing rules</span><a class="img" href="s3.3.d.html" title="PermaLink to (d)&nbsp;Typing rules"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
                          alt="" /></a></h4>
               <p>A parameter mapping (implicit by parameter position or explicit
                  		by a <code>with</code> clause) is <strong>well typed</strong> if
                  		the left hand side conforms to the right hand side, either by
                  			
               </p>
               <ul>
                  <li>type equality</li>
                  <li>implicit primitive type conversion</li>
                  <li>subtype polymorphism</li>
                  <li>translation polymorphism, here: <em>lowering</em>, 
                  </li>
                  <li><em>or</em> by a combination of the above.
                  </li>
               </ul>
               <p>A result mapping (implicit or explicit by a <code>with</code> clause)
                  		is well typed, if the value at the right hand side conforms to the
                  		left hand side according to the rules given above, except that
                  		translation polymorphism here applies <em>lifting</em> instead of
                  		lowering.
                  			
               </p>
            </div>
            <div class="subsect depth3" id="s3.3.e">
               <h4 class="subsect">(e)&nbsp;<span class="title">Role arrays</span><a class="img" href="s3.3.e.html" title="PermaLink to (e)&nbsp;Role arrays"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
                          alt="" /></a></h4>
               <p>For arrays of roles as parameters <a href="s2.2.e.html" title="&sect;2.2.(e)&nbsp;Lowering of arrays"
                     class="sect">&sect;2.2.(e)</a> applies accordingly.
                  		For arrays as a return value <a href="s2.3.d.html" title="&sect;2.3.(d)&nbsp;Lifting of arrays"
                     class="sect">&sect;2.3.(d)</a> applies.
                  			
               </p>
            </div>
         </div>
         <table class="nav">
            <tr>
               <td class="back"><a href="s3.2.html" rel="prev">&lt;&lt;&nbsp;&sect;3.2&nbsp;Callout parameter mapping</a></td>
               <td class="top"><a href="index.html" rel="contents">&uarr;&nbsp;Table of Contents&nbsp;&uarr;</a></td>
               <td class="next"><a href="s3.4.html" rel="next">&sect;3.4&nbsp;Overriding access restrictions&nbsp;&gt;&gt;</a></td>
            </tr>
         </table>
         <div class="breadcrumb"><a class="nav" href="s3.html" rel="section">&sect;3&nbsp;Callout Binding</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>