multi-page for otredyn after DSL-outage (compiler part):
Fix callin to private role method under otredyn:
- in contrast to old otre we cannot simply copy a callin wrapper
- no explicit casting to role class to support implicit inheritance
- instead we use the synthetic role bridges for this purpose
- generalize anonymous class from CalloutImplementor to PrivateRoleMethodCall
- insert this from CallinImplementorDyn
- manually weaken synthetic bridge for copy-inherited private role method:
at point of creating the bridge (resolveTypesFor) we don't know that this is copy-inherited
Reconcile handling of type variables in callin mappings:
- testA12_genericRoleFeature16f() needs error reporting
- test4125_resultInMethodSpec3() needs compatibility
-> use exactly those casts as needed to re-establish the base signature
- incl casts to base side type variables
- don't force-cast to role side type (which might hide type errors)
-> erase only those type variables that are declared at the callin mapping
-> use alien scope references to resolve the type variables
-> use the callin position for error reporting
Repair test446_callinArrayArgLifting1()
- support alien scope array type references
- integrate lowering into callNext
Implement result mapping in replace bindings
10 files changed