Ticket #338 (new enhancement)
Opened 11 years ago
Cleanup codegen to minimise insertion of invariant/contracts boilerplate code
Reported by: | hopscc | Owned by: | hopscc |
---|---|---|---|
Priority: | medium | Milestone: | |
Component: | Cobra Compiler | Version: | 0.9.4 |
Keywords: | Cc: |
Description
Cleanup contracts/invariant codegen so that classes that dont have contracts/invariants dont get (empty) contract code or boilerplate code inserted.
Currently with contracts:inline ( default) exception trapping/checks boilerplate is inserted regardless. as is an invariantGuard variable.
( these should be suppressed where unneeded)
For contracts:methods support boilerplate, methods calls are always inserted and empty methods are generated when there are no contracts/invariants.
See short discussion on forum Different Struct sizes
(hops: some suppression code done (for inline) min-inv-guard.patch
needs checks for subclassing and library boundary)
Note: See
TracTickets for help on using
tickets.