Ticket #141 (closed task: fixed)
Improve compiler support for role files
| Reported by: | stephan | Owned by: | stephan |
|---|---|---|---|
| Priority: | major | Milestone: | OTDT_1.2.1 |
| Component: | compiler | Version: | 1.2.0 |
| Keywords: | Cc: |
Description
This ticket is an umbrella for several recent changes relating to the processing of role files, copy inheritance and local types.
- Initially we saw exceptions during incremental compilation of role files of the CompletionAdaptor.
- Similar problems could then be reproduced as 1.5.12-otjld-role-file-compile-order-2 and 1.5.12-otjld-role-file-compile-order-3
- These tests were initially fixed in r18813, which touched sensitive methods:
- Dependencies.lateRolesCatchup
- StateMemento.handleRequest
- Lifting.createLiftToMethod (deferring generation of statements)
These changes in concert caused various regressions throughout the jacks suite mainly due to changed compilation order, which were to be fixed by these patches:
- r18814 fixed some regressions mainly regarding the conflict between generated and parsed statements.
- r18818 fixed a similar conflict not at the level of statements, but methods.
- r18819 finally installed topological sorting for member types, which ensures that super types are always translated before their sub types. Obviously this had been planned long time ago, but wasn't ever used (created in r15219 - in disabled state). The library method that was used instead is not safe for partial orders.
- r18824 and r18827 added support to directly invoke certain phases that normally enter via the compilation unit for any kind of late role: purely copied, role files, role local types.
- r18828 disabled the previous patch for local types, because this caused a build-failure in role CalloutCompletionProposal (analyseCode of local type).
- Finally, r18826 marks the observation that the CUD of role files skips many states - may need to always set this during RoleModel.setState?
Change History
Note: See
TracTickets for help on using
tickets.
all news
RSS feed