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