playedBy, completion will also generate an "
import base ..." declaration ( 2.1.2(d)), if needed.
After pressing |
|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 ||Create a callout to field getter.|
|after typing ||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 |
|Default is |
Normally, after "
->" (as well as for "
<-") completion will try to expand a base method, if for a callout one of the modifiers
set has been typed, a field is searched instead.
callinmodifier, 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.