blob: dc26cc6b05710538fdce61dccbb03e945ad9e682 [file] [log] [blame]
Stephan Herrmann01664412010-04-01 20:28:43 +00001<html>
2 <head>
3 <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" />
4 <link rel=stylesheet type="text/css" href="../css/book.css">
5 <link rel=stylesheet type="text/css" href="otjld/css/ot.css">
6 <link rel=stylesheet type="text/css" href="otguide.css">
7 <title>OT/J content/code assist</title>
8 <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
9 </head>
10 <body>
11 <h1 align="center">OT/J quick fixes</h1>
12 <u>Specific <a href="/help/topic/org.eclipse.jdt.doc.user/reference/ref-java-editor-quickfix.htm">quick fixes</a> are available for mending OT/J-related problems, including:</u>
13 <dl>
14 <dt>class modifiers
15 <dd>
16 &ndash; missing <code class="keyword">team</code> modifier,<br />
17 &ndash; illegal modifier for a role,<br />
18 &ndash; reducing the visibility from an (explicitly or implicitly) inherited role,<br />
19 &ndash; abstract relevant role (<a href="otjld/def/s2.html#s2.5.b"><img src="../icons/ot_paragraph.gif"> 2.5(b)</a>).
20 <dt>modifiers of methods and method bindings
21 <dd>
22 &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 />
23 &ndash; static/non-static incompatibility in a callin replace binding,<br />
24 &ndash; mismatching override of callin vs. regular role methods (<a href="otjld/def/s4.html#s4.2.d"><img src="../icons/ot_paragraph.gif"> 4.2(d)</a>),<br />
25 &ndash; missing callin binding modifier (<code class="keyword">before/after/replace</code>).<br />
26 &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="../icons/ot_paragraph.gif"> 3.1(e)</a>).<br />
27 &ndash; insufficient visibility of a role method / constructor / field.<br />
28 &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="../icons/ot_paragraph.gif"> 3.1(i)</a>).<br />
29 <dt>inferred callout
30 <dd>&ndash; materializing inferred callout bindings (<a href="otjld/def/s3.html#s3.1.j"><img src="../icons/ot_paragraph.gif"> 3.1(j)</a>, <a href="otjld/def/s3.html#s3.5.h"><img src="../icons/ot_paragraph.gif"> 3.5(h)</a>)
31 <dt>callin precedence
32 <dd>&ndash; missing callin precedence declaration (<a href="otjld/def/s4.html#s4.8"><img src="../icons/ot_paragraph.gif"> 4.8</a>).
33 <dt>typing
34 <dd>
35 &ndash; add a missing anchor for the type of an externalized role
36 (<a href="otjld/def/s1.html#s1.2.2"><img src="../icons/ot_paragraph.gif"> 1.2.2</a>, <a href="otjld/def/s9.html#s9.2"><img src="../icons/ot_paragraph.gif"> 9.2</a>)
37 (proposals are infered from the context),<br />
38 &ndash; adding missing <code class="keyword">final</code> modifier to a variable used as a type anchor, <br />
39 &ndash; adding required type parameter to a callin binding capturing covariant base methods (<a href="otjld/def/s4.html#s4.9.3"><img src="../icons/ot_paragraph.gif"> 4.9.3</a>).
40
41 <dt>role files
42 <dd>
43 &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="../icons/ot_paragraph.gif"> 1.2.5.d</a>).
44 <dt>coding style
45 <dd>
46 &ndash; change import to "<code class="keyword">import <strong>base</strong></code> ...", (<a href="otjld/def/s2.html#s2.1.2.d"><img src="../icons/ot_paragraph.gif"> 2.1.2(d)</a>)<br/>
47 &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/>
48 &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="../icons/ot_paragraph.gif"> 1.2.2(b)</a>).<br/>
49 &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="../icons/ot_paragraph.gif"> 1.3.1(c)</a>).<br />
50 &ndash; adding a missing <code>@Override</code> annotation to a role method that overrides a corresponding method from the implicit super role.<br />
51 </dl>
52
53 <u>Additionally, some standard Java quickfixes and content assists have been extended to be applicable for OT/J elements, too.</u>
54 <dl>
55 <dt>suppress warnings
56 <dd>&ndash; <code style="color:#505050;">@SuppressWarnings</code> annotations can be added to method bindings, too.
57 <dt>create method
58 <dd>&ndash; applies to unresolved method specs in callout/callin bindings, too.<br />
59 &ndash; generate inherited abstract methods also respects implicit inheritance.
60 <dt>organize imports
61 <dd>&ndash; creates "<code class="keyword">import <strong>base</strong></code> ...", if appropriate
62 <dt><em>and more..</em>
63 </dl>
64 </body>
65</html>