2010-06-21 Atsushi Enomoto <atsushi@ximian.com>
[mcs.git] / mcs / README
blobf7023e675c73fd3b78fc1aad77453e1502227bcf
1 Completion support
2 ==================
4         Supported:
5         
6                 a.<TAB> to complete members of type `a'
7                 a<TAB> for types and namespaces
8                 a.W<TAB>
9                 a<TAB> for local variables
11         Unsupported:
12         
13                 delegate { FOO.<TAB>
14                 using statement autocompletion
15         
16 These are the sources to the Mono C# compiler 
17 ---------------------------------------------
19         Read the mcs/docs/compiler.txt for an overview of the compiler.
21 Testing the Compiler
22 --------------------
24         You might want to use the `make btest' in this directory to 
25         have the compiler bootstrap itself, this is the basic regression
26         test.
28         Before commiting changes to MCS, make sure that all the tests
29         in `mcs/tests' pass, and all the tests in 'mcs/errors' have the
30         expected result, type:
32           cd mcs                # The top-level 'mcs' directory
33           make compiler-tests
35         If you want to test the installed compiler, you can run:
37           cd mcs                # The top-level 'mcs' directory
38           make test-installed-compiler
40 Full Bootstrap
41 ==============
43         To finally ensure the state of the compiler, it is ideal to do
44         a full bootstrap, to do this, do:
46                 cd mcs
47                 make clean;
48                 make
49                 make install
51         That installs the compiler and assemblies compiled by the new compiler.
53         Then, repeat that step again:
55                 make clean
56                 make
58         If things work, the compiler has not added a new regression
59         while building the mscorlib and the compiler itself.
61 Tests
62 =====
64         When bugs are fixed, new tests must be added to the
65         `mcs/tests' directory to excercise the problem and to guarantee
66         that we keep the compiler in a good state.
68         When an error is reported, it should be added to mcs/errors.
70         We try to make the errors numbers be the same as the ones in
71         Microsoft C#, if this is not possible, allocate a negative error
72         number, and list it in mcs/errors/errors.txt