<< §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)) should not define callin bindings.
In this case callin bindings can only safely 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 "hidden-lifting-problem"
token (see §2.3.5).
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 >> |