<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">
	<link rel=stylesheet type="text/css" href="otjld/css/ot.css">
	<link rel=stylesheet type="text/css" href="otguide.css">
    <title>OT/J content/code assist</title>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  </head>
  <body>	
	<h1 align="center">OT/J quick fixes</h1>
	<span class="underline">Specific <a href="PLUGINS_ROOT/org.eclipse.jdt.doc.user/reference/ref-java-editor-quickfix.htm">quick fixes</a> are available for mending OT/J-related problems, including:</span>
	<dl>
	<dt>class modifiers
	<dd>
	 &ndash; missing <code class="keyword">team</code> modifier,<br />
	 &ndash; illegal modifier for a role,<br />
	 &ndash; reducing the visibility from an (explicitly or implicitly) inherited role,<br />
	 &ndash; abstract relevant role (<a href="otjld/def/s2.html#s2.5.b"><img src="../images/ot_paragraph.png"> 2.5(b)</a>).
	<dt>modifiers of methods and method bindings
	<dd>
	 &ndash; mismatch between a method's <code class="keyword">callin</code> modifier and a callin binding's modifier (<code class="keyword">before/after/replace</code>),<br />
	 &ndash; static/non-static incompatibility in a callin replace binding,<br />
	 &ndash; mismatching override of callin vs. regular role methods (<a href="otjld/def/s4.html#s4.2.d"><img src="../images/ot_paragraph.png"> 4.2(d)</a>),<br />
	 &ndash; missing callin binding modifier (<code class="keyword">before/after/replace</code>).<br />
	 &ndash; wrong callout token (<code class="keyword">-&gt;</code> vs. <code class="keyword">=&gt;</code>, <a href="otjld/def/s3.html#s3.1.e"><img src="../images/ot_paragraph.png"> 3.1(e)</a>).<br />
	 &ndash; insufficient visibility of a role method / constructor / field.<br />
	 &ndash; also insufficient visibility of a shorthand callout binding can be fixed be prepending a visibility modifier (protected or public, see <a href="otjld/def/s3.html#s3.1.i"><img src="../images/ot_paragraph.png"> 3.1(i)</a>).<br />
	<dt>callout/callin method bindings
	<dd>
	&ndash; materializing inferred callout bindings (<a href="otjld/def/s3.html#s3.1.j"><img src="../images/ot_paragraph.png"> 3.1(j)</a>, <a href="otjld/def/s3.html#s3.5.h"><img src="../images/ot_paragraph.png"> 3.5(h)</a>)<br />
	&ndash; missing callin precedence declaration (<a href="otjld/def/s4.html#s4.8"><img src="../images/ot_paragraph.png"> 4.8</a>).<br />
	&ndash; <a href="assist/addRemoveSignatures.html">add/remove signatures in callout/callin method binding</a> (<a href="otjld/def/s3.html#s3.1.c"><img src="../images/ot_paragraph.png"> 3.1(c)</a>,<a href="otjld/def/s4.html#s4.1.c"><img src="../images/ot_paragraph.png"> 4.1(c)</a>).<br>
	    &nbsp;&nbsp;<em>This works as a quickfix if one of the method specs cannot be resolved, otherwise this change classifies as a <a href="quickassist.html">quick assist</a></em>.<br />	
	<dt>typing
	<dd>
	 &ndash; add a missing anchor for the type of an externalized role 
	(<a href="otjld/def/s1.html#s1.2.2"><img src="../images/ot_paragraph.png"> 1.2.2</a>, <a href="otjld/def/s9.html#s9.2"><img src="../images/ot_paragraph.png"> 9.2</a>)
	 (proposals are inferred from the context),<br />
	 &ndash; adding missing <code class="keyword">final</code> modifier to a variable used as a type anchor, <br />
	 &ndash; adding required type parameter to a callin binding capturing covariant base methods (<a href="otjld/def/s4.html#s4.9.3"><img src="../images/ot_paragraph.png"> 4.9.3</a>).
	 
	<dt>role files
	<dd>
	  &ndash; adding <code>@role</code> javadoc tags referring to a team's role files (<a href="otjld/def/s1.html#s1.2.5.d"><img src="../images/ot_paragraph.png"> 1.2.5.d</a>).
	<dt>coding style
	<dd>
	  &ndash; change import to "<code class="keyword">import <strong>base</strong></code> ...", (<a href="otjld/def/s2.html#s2.1.2.d"><img src="../images/ot_paragraph.png"> 2.1.2(d)</a>)<br/>
	  &ndash; change qualified reference to a role's base class to using a simple name and "<code class="keyword">import <strong>base</strong></code> ...", <br/>
	  &ndash; migrate syntax for externalized role from "<code>anchor.R</code>" to "<code>R&lt;@anchor&gt;</code>" (<a href="otjld/def/s1.html#s1.2.2.b"><img src="../images/ot_paragraph.png"> 1.2.2(b)</a>).<br/>
	  &ndash; adding a missing <code>@Override</code> annotation to a role class that overrides a corresponding role from the super team (<a href="otjld/def/s1.html#s1.3.1.c"><img src="../images/ot_paragraph.png"> 1.3.1(c)</a>).<br />
	  &ndash; adding a missing <code>@Override</code> annotation to a role method that overrides a corresponding method from the implicit super role.<br />
	</dl>
	
	<span class="underline">Additionally, some standard Java quickfixes and content assists have been extended to be applicable for OT/J elements, too.</span>
	<dl>
	<dt>suppress warnings
	<dd>&ndash; <code style="color:#505050;">@SuppressWarnings</code> annotations can be added to method bindings, too.
	<dt>create method
	<dd>&ndash; applies to unresolved method specs in callout/callin bindings, too.<br />
	    &ndash; generate inherited abstract methods also respects implicit inheritance.
	<dt>organize imports
	<dd>&ndash; creates "<code class="keyword">import <strong>base</strong></code> ...", if appropriate
	<dt><em>and more..</em>
	</dl>
  </body>
</html>
