.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 09c2b45f1b Merge NRefactory 858d4cc6 into ILSpy master. 15 years ago
..
AssemblyInfo.cs Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
ChangeLog Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
CryptoConvert.cs Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
Makefile Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
MonoSymbolFile.cs Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
MonoSymbolTable.cs Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
MonoSymbolWriter.cs Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
NOTES Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
OPTIMIZE Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
OTODO Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
PLAN Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
README Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
TODO Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
anonymous.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
argument.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
assembly.cs Merge NRefactory 858d4cc6 into ILSpy master. 15 years ago
assign.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
async.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
attribute.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
cfold.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
class.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
codegen.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
compiler.doc Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
complete.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
const.cs Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
constant.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
context.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
convert.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
cs-parser.cs Merge NRefactory 858d4cc6 into ILSpy master. 15 years ago
cs-parser.jay Merge NRefactory 858d4cc6 into ILSpy master. 15 years ago
cs-tokenizer.cs Merge NRefactory 858d4cc6 into ILSpy master. 15 years ago
decl.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
delegate.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
dmcs.csproj Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
dmcs.exe.config Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
dmcs.exe.sources Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
dmcs.sln Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
doc-bootstrap.cs Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
doc.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
driver.cs Merge NRefactory 858d4cc6 into ILSpy master. 15 years ago
dynamic.cs Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
ecore.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
enum.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
eval.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
expression.cs Merge NRefactory 858d4cc6 into ILSpy master. 15 years ago
field.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
flowanalysis.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
generic.cs Merge NRefactory 858d4cc6 into ILSpy master. 15 years ago
gmcs.csproj Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
gmcs.exe.config Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
gmcs.exe.sources Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
gmcs.sln Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
gmcs.userprefs Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
gmcs2.csproj Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
hosting.cs Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
import.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
iterators.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
lambda.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
lambda.todo Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
linq.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
literal.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
location.cs Merge NRefactory 858d4cc6 into ILSpy master. 15 years ago
membercache.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
method.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
modifiers.cs Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
namespace.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
nullable.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
outline.cs Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
parameter.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
pending.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
property.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
reflection.cs Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
repl.txt Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
report.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
rootcontext.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
roottypes.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
smcs.exe.sources Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
smcs.exe.sources-xml Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
statement.cs Merge NRefactory 858d4cc6 into ILSpy master. 15 years ago
support.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
symbolwriter.cs Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 15 years ago
typemanager.cs Merge NRefactory '14a4d88' into ILSpy. 15 years ago
typespec.cs Merge NRefactory 858d4cc6 into ILSpy master. 15 years ago
visit.cs Merge NRefactory 858d4cc6 into ILSpy master. 15 years ago
y.output Merge NRefactory '88ebd0b9596edab0e916ff28ae53f6febbdff032' to ILSpy. 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