<< §4.1.(a) Method call interception | ↑ Table of Contents ↑ | §4.1.(c) Callin declaration >> |
§4.1.(b) Prerequisite: Class binding
A callin binding requires the enclosing class to be a role class
bound to a base class according to §2.1.
An unliftable role (see §2.3.4.(a)) cannot define callin bindings
In this case callin bindings can only be introduced in sub-roles
which (by an appropriately refined playedBy
clause) disambiguate the lifting translation.
For corner cases the above rule can be overridden by suppressing the corresponding error
using the "def-bind-ambiguity"
token (see §2.3.4.(b)).
This will allow callin bindings to be defined even for unliftable roles expecting that lifting
may still succeed by one of the patterns desribed in §2.3.4.(b).
<< §4.1.(a) Method call interception | ↑ Table of Contents ↑ | §4.1.(c) Callin declaration >> |