.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 6937b804ee Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 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 commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
argument.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
assembly.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
assign.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
attribute.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
cfold.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
class.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
codegen.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
compiler.doc Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
complete.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
const.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
constant.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
context.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
convert.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
cs-parser.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
cs-parser.jay Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
cs-tokenizer.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
decl.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
delegate.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 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 commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
driver.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
dynamic.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
ecore.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
enum.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
eval.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
expression.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
field.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
flowanalysis.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
generic.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 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 commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
iterators.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
lambda.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
lambda.todo Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
linq.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
literal.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
location.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
membercache.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
method.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
modifiers.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
namespace.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
nullable.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
outline.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
parameter.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
pending.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
property.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
reflection.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
repl.txt Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
report.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
rootcontext.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
roottypes.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 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 commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 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 commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
typespec.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 15 years ago
visit.cs Merge commit 'ba47995db3c377a96ce701fa0ad3e3b6fed1decc' as 'NRefactory' 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