The assembly must have been built with the symbol CONTRACTS_FULL defined, otherwise the calls to the contract methods will have been removed by the compiler.
Currently only pre-conditions are supported, using the Contract.Requires() method. Contract inheritance for virtual methods is supported. Only a limited range of operations and types can be used within a pre-condition, an error message will be shown if ccrewrite is unable to process the specified assembly.
- --assembly <assembly-name>
- The assembly to rewrite. If no --output option is specified, then this file is overwritten with the rewritten version.
- Use debug information if available to improve the usefulness of contract failure messages.
- Show help for ccrewrite, listing configuration options.
- --level <level> (default=4)
- Set which contract types are present in rewritten assembly: 0 = No contracts; 1 = Release requires; 2 = Requires; 3 = Ensures; 4 = Invariants; (Each level includes all previous levels)
- --output <file-name>
- Write the rewritten assembly to the specified file. If this is not present then the input assembly file is overwritten with the rewritten version.
- --rewrite (default=true)
- Rewrite the assembly. If false, then nothing is done.
- --throwOnFailure (default=false)
- Throw a ContractException on unhandled contract failure. The default behaviour is to Assert.