Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
..
Octocat-spinner-32 .gitignore Revert "Revert "Revert "Merge""" July 08, 2013
Octocat-spinner-32 AssemblyInfo.cs More using cleanup November 26, 2010
Octocat-spinner-32 ChangeLog Major name lookup fixes July 28, 2010
Octocat-spinner-32 Makefile Revert "Revert "Revert "Merge""" July 08, 2013
Octocat-spinner-32 NOTES Add notes December 12, 2002
Octocat-spinner-32 README Merge compiler docs June 08, 2012
Octocat-spinner-32 anonymous.cs [mcs] Flow analysis of nested binary expressions inside anonymous met… March 18, 2014
Octocat-spinner-32 argument.cs [mcs] Arguments flow analysis needs to ignore out modifier. November 25, 2013
Octocat-spinner-32 assembly.cs [mcs] Emit Debuggable attribute. Fixes #16924 January 06, 2014
Octocat-spinner-32 assign.cs [mcs] Primary constructors April 16, 2014
Octocat-spinner-32 async.cs Update error message April 16, 2014
Octocat-spinner-32 attribute.cs [mcs] Emit Debuggable attribute. Fixes #16924 January 06, 2014
Octocat-spinner-32 basic-basic.csproj Refreshed the CSProj files to use the new output build directory April 18, 2014
Octocat-spinner-32 cfold.cs [mcs] Don't report any not applicable operator errors during constant… February 11, 2014
Octocat-spinner-32 class.cs [mcs] Primary constructors April 16, 2014
Octocat-spinner-32 codegen.cs [mcs] Initial implemntation of exception filters April 16, 2014
Octocat-spinner-32 complete.cs [mcs] Add NamespaceExpression to avoid problems with error location f… February 17, 2014
Octocat-spinner-32 const.cs Revert "Revert "Revert "Merge""" July 08, 2013
Octocat-spinner-32 constant.cs [mcs] Do underlying float constant operation on double values. Fixes … January 26, 2014
Octocat-spinner-32 context.cs [mcs] Initial lambda checked scope comes from parent block. January 17, 2014
Octocat-spinner-32 convert.cs [mcs] Emit field initializer with expression tree in all user constru… March 18, 2014
Octocat-spinner-32 cs-parser.jay [mcs] Fix parsing member access expression with await simple name April 16, 2014
Octocat-spinner-32 cs-tokenizer.cs [mcs] Better heuristics for error parsing of interrogation point. March 19, 2014
Octocat-spinner-32 decl.cs Fix some code issue warnings October 04, 2013
Octocat-spinner-32 delegate.cs Adding fix for case of error CS0177 March 23, 2014
Octocat-spinner-32 doc-bootstrap.cs Updated with Xamarin copyrights November 23, 2011
Octocat-spinner-32 doc.cs [mcs] Add NamespaceExpression to avoid problems with error location f… February 17, 2014
Octocat-spinner-32 driver.cs [mcs] Suport recursive references of non-FX assemblies January 08, 2014
Octocat-spinner-32 dynamic.cs build: use MOBILE_DYNAMIC instead of MONODROID January 16, 2014
Octocat-spinner-32 ecore.cs [mcs] Fix tie breaking rules when both candidates have used default p… April 17, 2014
Octocat-spinner-32 enum.cs Fix some code issue warnings October 04, 2013
Octocat-spinner-32 eval.cs Revert "Exclude more console code from NET_2_1" January 20, 2014
Octocat-spinner-32 expression.cs [mcs] Initial implemntation of exception filters April 16, 2014
Octocat-spinner-32 field.cs [mcs] Primary constructors April 16, 2014
Octocat-spinner-32 flowanalysis.cs [mcs] Implements definite assignment of expressions November 29, 2013
Octocat-spinner-32 generic.cs [mcs] Type arguments resolve failure needs to be reported after probi… January 04, 2014
Octocat-spinner-32 ikvm.cs [mcs] Typo in error message April 10, 2014
Octocat-spinner-32 import.cs [mcs] Ignore import failures for private types used in private structs March 13, 2014
Octocat-spinner-32 iterators.cs [mcs] Dynamically calculate size of flow-analysis bitset. Fixes #4210 November 24, 2013
Octocat-spinner-32 lambda.cs Inflate explicit delegate parameters using type inference context too… August 15, 2013
Octocat-spinner-32 linq.cs [mcs] Reachability and flow analysis rewrite to work on resolved stat… November 21, 2013
Octocat-spinner-32 literal.cs Error reporting improvements April 03, 2013
Octocat-spinner-32 location.cs build: use MOBILE_DYNAMIC instead of MONODROID January 16, 2014
Octocat-spinner-32 mcs-build.csproj Refreshed the CSProj files to use the new output build directory April 18, 2014
Octocat-spinner-32 mcs-net_4_0.csproj Fix make dist March 02, 2012
Octocat-spinner-32 mcs-net_4_5.csproj Refreshed the CSProj files to use the new output build directory April 18, 2014
Octocat-spinner-32 mcs.csproj Revert "Revert "Revert "Merge""" July 08, 2013
Octocat-spinner-32 mcs.exe.sources Revert "Revert "Revert "Merge""" July 08, 2013
Octocat-spinner-32 mcs.sln Inlcude leading dot in constant ParsedValue January 16, 2012
Octocat-spinner-32 membercache.cs [mcs] Relax struct definitive assignment rules for private fields April 16, 2014
Octocat-spinner-32 method.cs [mcs] Primary constructors April 16, 2014
Octocat-spinner-32 modifiers.cs Correct spelling DEFAULT_ACCESS_MODIFER -> DEFAULT_ACCESS_MODIFIER March 13, 2014
Octocat-spinner-32 module.cs Anonymous type are shared across module hence need module counters. October 09, 2013
Octocat-spinner-32 namespace.cs [mcs] Add NamespaceExpression to avoid problems with error location f… February 17, 2014
Octocat-spinner-32 nullable.cs [mcs] Emit correct code for lifted nullable bool logical operators wh… March 04, 2014
Octocat-spinner-32 parameter.cs [mcs] Primary constructors April 16, 2014
Octocat-spinner-32 pending.cs Remove some unused parameters August 15, 2013
Octocat-spinner-32 property.cs Correct spelling DEFAULT_ACCESS_MODIFER -> DEFAULT_ACCESS_MODIFIER March 13, 2014
Octocat-spinner-32 reflection.cs [build] Add Microsoft.CSharp to monotouch profile January 14, 2014
Octocat-spinner-32 repl.txt Merge compiler docs June 08, 2012
Octocat-spinner-32 report.cs Fix some code issue warnings October 04, 2013
Octocat-spinner-32 settings.cs [mcs] Initial implemntation of exception filters April 16, 2014
Octocat-spinner-32 statement.cs [mcs] Emit exception filters with empty stack April 16, 2014
Octocat-spinner-32 support.cs build: use MOBILE_DYNAMIC instead of MONODROID January 16, 2014
Octocat-spinner-32 typemanager.cs Add more implicit generic array interfaces. Fixes #8934 August 09, 2013
Octocat-spinner-32 typespec.cs [mcs] Add nested types handling to check whether types unify for some… February 17, 2014
Octocat-spinner-32 visit.cs Update ast visitor July 03, 2013
README
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
Something went wrong with that request. Please try again.