Adjust compilation order:
- During copy role features: don't require tsuper to have a state greater than copy role features,
because in nested teams this could cause unresolvable circular state dependencies.
Saw regression in test1117_multilevelInnerInheritance3 (problem methods were silently created)
- move STATE_LATE_ATTRIBUTES_EVALUATED one up to use this for collecting all generated methods and
have them copied from tsupers, too. This creates a baseline where method verify can safely assume
all methods are in place (saw bogus bridge methods due to missing cast/create methods).
Implemented the now functionality in RoleModel.evaluateLateAttributes().
- *before* weakening team method signatures require super team to have the same state (types adjusted)
which may cause cast/create methods in super to be generated (otherwise weakening wouldn't find super method)
- before resolving method mappings ensure callout wrappers from tsuper are copied to current role
- never copy any create/cast/getClass methods (will be generated anew)
Saw more bogus bridge methods created resulting in verify errors (duplicate method).
- new compile order revealed that constructors are accidentally weakened, which they shouldn't.
Saw "no instance of Mid1 in scope" in test1126_nestingAndLayering3p()
- new compile order revealed that ifc-part of creator-methods lacked the model._srcCtor, fixed.
Saw regression (missing errors) in test1115_nestedTeamExtendsRegularTeam1f()
4 files changed