1Mono(ccrewrite)                                                Mono(ccrewrite)
2
3
4

NAME

6       ccrewrite  - Rewrite CLR assemblies for runtime code contract verifica‐
7       tion.
8

SYNOPSIS

10       ccrewrite --assembly=<assembly> [options]
11

DESCRIPTION

13       Rewrite CLR  assemblies  to  convert  calls  into  the  System.Diagnos‐
14       tics.Contracts namespace to perform runtime contract verification. This
15       includes contract inheritance for virtual methods.
16
17       The assembly must  have  been  built  with  the  symbol  CONTRACTS_FULL
18       defined,  otherwise  the  calls  to the contract methods will have been
19       removed by the compiler.
20
21       Currently  only  pre-conditions   are   supported,   using   the   Con‐
22       tract.Requires()  method.  Contract  inheritance for virtual methods is
23       supported. Only a limited range of operations and  types  can  be  used
24       within  a pre-condition, an error message will be shown if ccrewrite is
25       unable to process the specified assembly.
26

CONFIGURATION OPTIONS

28       --assembly <assembly-name>
29              The assembly to rewrite. If no  --output  option  is  specified,
30              then this file overwritten with the rewritten version.
31
32       --debug
33              Use  debug information if available to improve the usefulness of
34              contract failure messages.
35
36       --help Show help for ccrewrite, listing configuration options.
37
38       --level <level> (default=4)
39              Set the which contract types are present in rewritten  assembly:
40              0  =  No  contracts;  1  =  Release  requires; 2 = Requires; 3 =
41              Ensures; 4 = Invariants; (Each level includes all previous  lev‐
42              els)
43
44       --output <file-name>
45              Write  the  rewritten assembly to the specified file. If this is
46              not present then the input assembly file is overwritten with the
47              rewritten version.
48
49       --rewrite (default=true)
50              Rewrite the assembly. If false, then nothing is done.
51
52       --throwOnFailure (default=false)
53              Throw  a  ContractException  on  unhandled contract failure. The
54              default behaviour is to Assert.
55
56
57

AUTHOR

59       Written by Chris Bacon
60
62       Copyright (C) 2010 Chris Bacon.  Released under MIT license.
63

WEB SITE

65       Visit http://www.mono-project.com for details
66
67
68
69                                                               Mono(ccrewrite)
Impressum