OT/J quick fixes
Specific quick fixes are available for mending OT/J-related problems, including:
- class modifiers
-
– missing
team
modifier,
– illegal modifier for a role,
– reducing the visibility from an (explicitly or implicitly) inherited role,
– abstract relevant role ( 2.5(b)).
- modifiers of methods and method bindings
-
– mismatch between a method's
callin
modifier and a callin binding's modifier (before/after/replace
),
– static/non-static incompatibility in a callin replace binding,
– mismatching override of callin vs. regular role methods ( 4.2(d)),
– missing callin binding modifier (before/after/replace
).
– wrong callout token (->
vs. =>
, 3.1(e)).
– insufficient visibility of a role method / constructor / field.
– also insufficient visibility of a shorthand callout binding can be fixed be prepending a visibility modifier (protected or public, see 3.1(i)).
- inferred callout
- – materializing inferred callout bindings ( 3.1(j), 3.5(h))
- callin precedence
- – missing callin precedence declaration ( 4.8).
- typing
-
– add a missing anchor for the type of an externalized role
( 1.2.2, 9.2)
(proposals are infered from the context),
– adding missing final
modifier to a variable used as a type anchor,
– adding required type parameter to a callin binding capturing covariant base methods ( 4.9.3).
- role files
-
– adding
@role
javadoc tags referring to a team's role files ( 1.2.5.d).
- coding style
-
– change import to "
import base
...", ( 2.1.2(d))
– change qualified reference to a role's base class to using a simple name and "import base
...",
– migrate syntax for externalized role from "anchor.R
" to "R<@anchor>
" ( 1.2.2(b)).
– adding a missing @Override
annotation to a role class that overrides a corresponding role from the super team ( 1.3.1(c)).
– adding a missing @Override
annotation to a role method that overrides a corresponding method from the implicit super role.
Additionally, some standard Java quickfixes and content assists have been extended to be applicable for OT/J elements, too.
- suppress warnings
- –
@SuppressWarnings
annotations can be added to method bindings, too.
- create method
- – applies to unresolved method specs in callout/callin bindings, too.
– generate inherited abstract methods also respects implicit inheritance.
- organize imports
- – creates "
import base
...", if appropriate
- and more..