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 is 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 which contract types are present in rewritten assembly: 0  =
40              No contracts; 1 = Release requires; 2 = Requires; 3 = Ensures; 4
41              = Invariants; (Each level includes all previous levels)
42
43       --output <file-name>
44              Write the rewritten assembly to the specified file. If  this  is
45              not present then the input assembly file is overwritten with the
46              rewritten version.
47
48       --rewrite (default=true)
49              Rewrite the assembly. If false, then nothing is done.
50
51       --throwOnFailure (default=false)
52              Throw a ContractException on  unhandled  contract  failure.  The
53              default behaviour is to Assert.
54
55
56

AUTHOR

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

WEB SITE

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