.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Daniel Grunwald 88bb21d536 Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
..
AssemblyInfo.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
ChangeLog Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
CryptoConvert.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
Makefile Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
MonoSymbolFile.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
MonoSymbolTable.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
MonoSymbolWriter.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
NOTES Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
OPTIMIZE Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
OTODO Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
PLAN Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
README Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
TODO Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
anonymous.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
argument.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
assembly.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
assign.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
attribute.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
cfold.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
class.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
codegen.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
compiler.doc Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
complete.cs Merge NRefactory a92606c..56fde51 15 years ago
const.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
constant.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
context.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
convert.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
cs-parser.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
cs-parser.jay Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
cs-tokenizer.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
decl.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
delegate.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
dmcs.csproj Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
dmcs.exe.config Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
dmcs.exe.sources Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
dmcs.sln Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
doc-bootstrap.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
doc.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
driver.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
dynamic.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
ecore.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
enum.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
eval.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
expression.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
field.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
flowanalysis.cs Merge NRefactory a92606c..56fde51 15 years ago
generic.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
gmcs.csproj Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
gmcs.exe.config Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
gmcs.exe.sources Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
gmcs.sln Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
gmcs.userprefs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
gmcs2.csproj Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
hosting.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
import.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
iterators.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
lambda.cs Merge NRefactory a92606c..56fde51 15 years ago
lambda.todo Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
linq.cs Merge NRefactory b8330be into ILSpy 15 years ago
literal.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
location.cs Merge NRefactory b8330be into ILSpy 15 years ago
membercache.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
method.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
modifiers.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
namespace.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
nullable.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
outline.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
parameter.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
pending.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
property.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
reflection.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
repl.txt Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
report.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
rootcontext.cs Merge NRefactory a92606c..56fde51 15 years ago
roottypes.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
smcs.exe.sources Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
smcs.exe.sources-xml Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
statement.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
support.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
symbolwriter.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
typemanager.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
typespec.cs Merge NRefactory subtree from commit '1e4a1d911cb430db2a4199695ee73dfd89bcc543' 14 years ago
visit.cs Merge NRefactory b8330be into ILSpy 15 years ago
y.output Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago

README

Completion support
==================

Supported:

a.<TAB> to complete members of type `a'
a<TAB> for types and namespaces
a.W<TAB>
a<TAB> for local variables

Unsupported:

delegate { FOO.<TAB>
using statement autocompletion

These are the sources to the Mono C# compiler
---------------------------------------------

Read the mcs/docs/compiler.txt for an overview of the compiler.

Testing the Compiler
--------------------

You might want to use the `make btest' in this directory to
have the compiler bootstrap itself, this is the basic regression
test.

Before commiting changes to MCS, make sure that all the tests
in `mcs/tests' pass, and all the tests in 'mcs/errors' have the
expected result, type:

cd mcs # The top-level 'mcs' directory
make compiler-tests

If you want to test the installed compiler, you can run:

cd mcs # The top-level 'mcs' directory
make test-installed-compiler

Full Bootstrap
==============

To finally ensure the state of the compiler, it is ideal to do
a full bootstrap, to do this, do:

cd mcs
make clean;
make
make install

That installs the compiler and assemblies compiled by the new compiler.

Then, repeat that step again:

make clean
make

If things work, the compiler has not added a new regression
while building the mscorlib and the compiler itself.

Tests
=====

When bugs are fixed, new tests must be added to the
`mcs/tests' directory to excercise the problem and to guarantee
that we keep the compiler in a good state.

When an error is reported, it should be added to mcs/errors.

We try to make the errors numbers be the same as the ones in
Microsoft C#, if this is not possible, allocate a negative error
number, and list it in mcs/errors/errors.txt