playedBy
,
completion will also generate an "import base ...
" declaration
( 2.1.2(d)), if needed.
After pressing Ctrl-space , selection of the desired binding happens in three steps:
| |
a) Select a base method | |
b) Change the role method name if desired. | |
c) Select the binding kind. |
Two additional kinds of callouts can be generated, by typing "get
" or "set
" before invoking completion:
after typing get
| Create a callout to field getter. |
after typing set
| Create a callout to field setter. |
When binding to a base method/field, whose signature contains other base types for which a bound role exists in the current team, completion lets you select whether the role side of the binding should use base or role types. If role types are selected, they will be conform to the corresponding base type by implicitly using lifting ( 2.3) or lowering ( 2.2).
If a callin or callout binding has been typed up-to and including the "<-
" or "->
" token, completion can be used to expand the right hand side specifying the base method or field. For callin bindings you may optionally first type the callin modifier (before, replace
or after
). Otherwise you will be prompted for the desired callin modifier.
In this case the proposed modifier is inferred to match the bound base method:
regular method | Default is before (also after is legal).
|
callin method | Default is replace
|
Normally, after "->
" (as well as for "<-
") completion will try to expand a base method, if for a callout one of the modifiers get
or set
has been typed, a field is searched instead.
callin
modifier, to match the binding's callin modifier.
base.
( 4.3) and tsuper.
( 1.3.1(f)) completion offers only those methods that are actually legal in this context,
which in bose cases implies the same name and signature as the surrounding role (callin) method.within
(Expression).