Wiki

Ticket #338 (new enhancement)

Opened 4 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.