Java editor with Object Teams capability
The extended Java editor provides specialized features for editing
OT/J code. The original Java editor
has been extended for the following features:
- Navigation support for Object Teams elements (F3 = Open Declaration, see below)
- Syntax highlighting for OT/J keywords and modifiers.
OT/J keywords are enabled based on the contents of the file being edited.
This way the same editor still handles plain Java sources without interpreting OT/J keywords.
However, within an OT/J file syntax highlighting is determined in a context-free manner,
which means that scoped keywords
( A.0.1)
like after, base, before, get, result, set
are highlighted,
even in situations where they have no special meaning.
- Content/code assist (code completions) for Object Teams program elements.
- Templates (source patterns) for Object Teams specific language constructs
using content assist (Ctrl+Space),
e.g.
within
(Expression) Statement
- New binding marker annotations in the vertical ruler (for base classes/methods bound using playedBy/callin/callout)
allowing navigation to the affecting role.
Obvious enhancements for the normal F3 navigation regard the following:
- Go to a role's base class using the
playedBy
clause.
- Go to a bound base method or a bound field using a callout or callin binding
(the opposite direction is supported by binding markers).
Navigating role files
( 1.2.5):
- Hitting F3 on the
team package
declarations jumps to the enclosing team.
- In order to navigate from a team to its role file use the quick outline
by hitting
Ctrl-O
twice:
role files will be offered for selection along inline members.
- If javadoc
@role
tags are used as recommended for listing all role files of the current team
( 1.2.5(d)),
the role names in these tags support F3-navigation to the corresponding roles, too.
Navigating the implicit role hierarchy ( 1.3.1):
- A role class that overrides a corresponding role from the super team is decorated with an override marker () in the vertical ruler,
which supports the Open Super Implementation action.
- A role method overriding a corresponding method from any explicit or implicit super role
are also decorated with an override marker () supporting navigation to the overridden method.