Stephan Herrmann | 0166441 | 2010-04-01 20:28:43 +0000 | [diff] [blame] | 1 | <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 | – missing <code class="keyword">team</code> modifier,<br /> |
| 17 | – illegal modifier for a role,<br /> |
| 18 | – reducing the visibility from an (explicitly or implicitly) inherited role,<br /> |
| 19 | – 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 | – 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 | – static/non-static incompatibility in a callin replace binding,<br /> |
| 24 | – 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 | – missing callin binding modifier (<code class="keyword">before/after/replace</code>).<br /> |
| 26 | – wrong callout token (<code class="keyword">-></code> vs. <code class="keyword">=></code>, <a href="otjld/def/s3.html#s3.1.e"><img src="../icons/ot_paragraph.gif"> 3.1(e)</a>).<br /> |
| 27 | – insufficient visibility of a role method / constructor / field.<br /> |
| 28 | – 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>– 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>– 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 | – 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 | – adding missing <code class="keyword">final</code> modifier to a variable used as a type anchor, <br /> |
| 39 | – 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 | – 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 | – 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 | – 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 | – migrate syntax for externalized role from "<code>anchor.R</code>" to "<code>R<@anchor></code>" (<a href="otjld/def/s1.html#s1.2.2.b"><img src="../icons/ot_paragraph.gif"> 1.2.2(b)</a>).<br/> |
| 49 | – 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 | – 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>– <code style="color:#505050;">@SuppressWarnings</code> annotations can be added to method bindings, too. |
| 57 | <dt>create method |
| 58 | <dd>– applies to unresolved method specs in callout/callin bindings, too.<br /> |
| 59 | – generate inherited abstract methods also respects implicit inheritance. |
| 60 | <dt>organize imports |
| 61 | <dd>– creates "<code class="keyword">import <strong>base</strong></code> ...", if appropriate |
| 62 | <dt><em>and more..</em> |
| 63 | </dl> |
| 64 | </body> |
| 65 | </html> |