2008-07-22  Jb Evain  <jbevain@novell.com>

	* CSharpCodeProvider.cs: fix the constructor to take an IDictionary
	instead of a plain Dictionary for provider options.
	* CSharpCodeGenerator.cs, CSharpCodeCompiler.cs: update accordingly.
	Fixes #411105.


2008-06-05  Atsushi Enomoto  <atsushi@ximian.com>

	* CSharpCodeCompiler.cs : in 2.0 profile, do not capture stdout (we
	  didn't do that in 1.0 either). Fixed bug #379535.

2008-05-19  Martin Baulig  <martin@ximian.com>

	* CSharpCodeGenerator.cs: In the 2.0 profile, emit `#line hidden'
	in addition to `#line default'.

2008-05-09  Gert Driesen  <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: On 2.0 profile, add support for params
	keyword when System.ParamArrayAttribute custom attribute is added.
	Fixes bug #387877.

2008-05-07  Martin Baulig  <martin@ximian.com>

	* CSharpCodeCompiler.cs: Don't mess around with the
	MONO_INSIDE_MDB environment variable, it may only be modified by
	the debugger.

2008-04-09  Jb Evain  <jbevain@novell.com>

	* CSharpCodeGenerator.cs: Emit bodyless getters and setters
	for abstract properties. Based on a patch by
	Stefan Rusek <stefan@fogcreek.com>

2008-02-27  Marek Habersack  <mhabersack@novell.com>

	* CSharpCodeCompiler.cs: use asynchronous method of capturing mcs
	output in the 2.0+ profile.

2008-02-26  Marek Habersack  <mhabersack@novell.com>

	* CSharpCodeCompiler.cs: CompilerResults.Output can now be set
	internally.

2008-02-26  Atsushi Enomoto  <atsushi@ximian.com>

	* CSharpCodeCompiler.cs : build fix.
	  CompilerResults.Output is read only.

2008-02-25  Marek Habersack  <mhabersack@novell.com>

	* CSharpCodeCompiler.cs: ignore standard output and report only
	lines printed to stdandard error to the caller.

2008-01-27  Gert Driesen  <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Avoid ArgumentNullException when
	CodeDelegateInvokeExpression.TargetObject is null.

2008-01-16  Gert Driesen  <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Cosmetic changes to the code emitted for
	type constraints. Allows our unit tests to pass on both Mono and MS.

2008-01-16  Juraj Skripsky  <js@hotfeet.ch>

	* CSharpCodeGenerator.cs (GenerateGenericsConstraints): Take 
	solitary constructor constraints into account. Fixes bug #353921.

2008-01-16  Zoltan Varga  <vargaz@gmail.com>

	* CSharpCodeCompiler.cs: Avoid setting results.CompiledAssembly since it might
	be a netmodule. Fixes #353536.

2008-01-14  Marek Habersack  <mhabersack@novell.com>

	* CSharpCodeCompiler.cs: 3.0 is the default version now.

2008-01-10  Marek Habersack  <mhabersack@novell.com>

	* CSharpCodeCompiler.cs: check if running under the debugger and,
	if yes, make sure that gmcs runs correctly by removing the
	MONO_INSIDE_MDB environment variable before executing gmcs and
	restore it after the compiler process exits. Fixes bug #352377.

2007-12-15  Marek Habersack  <mhabersack@novell.com>

	* CSharpCodeProvider.cs: added support for the 2.0sp1 constructor
	which takes a Dictionary <string, string> parameter with compiler
	provider options. If any options are present, the
	generator/compiler are created using appropriate constructor
	overload.

	* CSharpCodeGenerator.cs: added support for the 2.0sp1 constructor
	which takes a Dictionary <string, string> parameter with compiler
	provider options.

	* CSharpCodeCompiler.cs: added support for the 2.0sp1 constructor
	which takes a Dictionary <string, string> parameter with compiler
	provider options. The "CompilerVersion" option is supported, with
	possible values "2.0" (currently maps to -langversion:Default) and
	"3.5" (currently maps to -langversion:linq).

2007-10-26  Atsushi Enomoto  <atsushi@ximian.com>

	* CSharpCodeGenerator.cs : property name was not escaped.

2007-02-21  Gert Driesen  <drieseng@users.sourceforge.net>

	* CSharpCodeCompiler.cs: Also generate temp filename for OutputAssembly
	if its a zero-length string. Fixed bug #80920. Set extension to exe or
	dll depending on whether we're generating an executable or not.

2007-01-18  Atsushi Enomoto  <atsushi@ximian.com>

	* CSharpCodeGenerator.cs : for GenericTypeParameter, GetTypeOutput()
	  should just print its name.
	  For generic type definition, print "<>". OutputTypeArguments() was
	  also causing IndexOutOfRangeException.

2006-12-30  Marek Habersack  <grendello@gmail.com>

	* CSharpCodeGenerator.cs: implement actual identifier syntax correctness
	checking, as defined in the C# standard (almost).

2006-08-08  Gert Driesen <drieseng@users.sourceforge.net>

	* CSharpCodeCompiler.cs: Added support for embedded resources, fixes
	bug #78384. Added support for linked resources. Removed unnecessary
	null check for options.ReferencedAssemblies.

2006-07-16  Andrew Skiba <andrews@mainsoft.com>

	* CSharpCodeCompiler.cs: find mono.exe in mono/mini; fixes #78731

2006-04-30  Marek Safar <marek.safar@seznam.cz>

	* CSharpCodeCompiler.cs: mcs does not like /r:"" syntax; fixes #78038.

2005-12-07  Gert Driesen  <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Override GeneratePrimitiveExpression to
	match .NET 1.x and 2.0 for float, decimal, char, ushort, uint, ulong
	and sbyte.

2005-11-30  Gert Driesen  <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: No longer output semicolon and newline for
	CodeVariableDeclarationStatement in for statement, fixes #75292. 
	Fixed NRE in GenerateEventReferenceExpression. Cosmetic changes to 
	code generated for iteration to match MS.NET. Temporary reduce 
	indentation for label and no longer escape label if its a keyword.

2005-11-26  Gert Driesen  <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Fixed GenerateComment to also write
	comment chars for carriage-return (and skip linefeed, if its the
	next character). Fixed output for TryCatchFinallyStatement. Fixed
	GotoStatement to end with newline.

2005-11-04  Gert Driesen  <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Ignore ChecksumData of CodeChecksumPragma
	if null.

2005-10-29  Sebastien Pouliot  <sebastien@ximian.com>

	* CSharpCodeProvider.cs: GenerateCodeFromMember method is an override 
	in 2.0 final.

2005-10-28  Gert Driesen  <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Use fixed signature for entrypoint method
	on 1.0 profile. On 2.0 profile output custom attributes, and return
	type. On 1.0 profile, also replace + with dot (for nested types).
	Fixes bug #76580. Set eol-style to native.
	* CSharpCodeCompiler.cs: Set eol-style to native.
	* CSharpCodeProvider.cs: Set eol-style to native.

2005-10-19  Miguel de Icaza  <miguel@novell.com>

	* CSharpCodeCompiler.cs: Quote the directory, to fix #76469

2005-10-17  Sebastien Pouliot  <sebastien@ximian.com>

	* CSharpCodeProvider.cs: Added a LinkDemand and an InheritanceDemand
	for FullTrust (i.e. Unrestricted permission set) at the class level.
	Added [Obsolete] on CreateCompiler and CreateGenerator methods (2.0).
	Stubbed new method GenerateCodeFromMember (2.0).

2005-10-15 Gert Driesen <drieseng@users.sourceforge.net>
	
	* CSharpCodeGenerator.cs: Support C bracing style. Fixes bug #76286.

2005-10-07 Gert Driesen <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Fixed supported for type arguments in
	GetTypeOutput on 2.0 profile. Partial fix for bug #76286.

2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeCompiler.cs: patch from Maksim Vorobiev that prevents
	InvalidOperationException if the thread running mcs is aborted.

2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeCompiler.cs: made the colon optional so that both mcs and
	gmcs work.

2005-08-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeCompiler.cs: added missing colon after the line,column
	parenthesis in the regex that parses the errors to make this work with
	HEAD mcs.

2005-07-30 Gert Driesen <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Fixed code generated for NewSlot members.

2005-07-24 Gert Driesen <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Fixed generated code for enums, interfaces
	and delegates to match MS.NET.

2005-07-02 Gert Driesen <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Fixed output of ReturnTypeCustomAttributes.

2005-07-02 Gert Driesen <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Added PrivateImplementationType support
	for events, properties, methods. No longer output scope modifier
	for events.

2005-06-30 Gert Driesen <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Only consider property an indexer if
	name is Item (case-insensitive comparison) and property has
	parameters.

2005-06-28 Gert Driesen <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Fixed GetTypeOutput to match MS.NET 1.x
	and 2.0.	

2005-06-26 Gert Driesen <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Fixed generated code for events, fields,
	properties, methods and ctors to match MS.NET.

2005-06-25 Gert Driesen <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Also modified generated code for type-level
	attributes to match MS.NET.

2005-06-25 Gert Driesen <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Fixed generated code for assembly-level
	attributes to match code generated by MS.NET.

2005-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeCompiler.cs: use UTF8 in the StreamWriter, as it did before
	r45802 removed it accidentally. Fixes bug #75361.

2005-06-12  Gert Driesen <drieseng@users.sourceforge.net>

	* CSharpCodeCompiler.cs: Temp source files should have extension
	".cs".

2005-06-11  Gert Driesen <drieseng@users.sourceforge.net>

	* CSharpCodeGenerator.cs: Win32 resources are supported. Fixes bug
	#75218.
	* CSharpCodeCompiler.cs: Clean up temporary files after compilation. 
	Fixes bug #75221. Added support for Win32 resources. Fixes bug
	#75218.

2005-05-29  Gert Driesen <drieseng@users.sourceforge.net>

	* CSharpCodeCompiler.cs: Load compiled assembly from byte array
	if GenerateInMemory compiler parameter is set, set PathToAssembly
	if compilation succeeded and GenerateInMemory is false.
	Fixes bug #74959.

2005-04-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeCompiler.cs: fix problem with the output CS8028.

2005-02-03  Atsushi Enomoto  <atsushi@ximian.com>

	* CSharpCodeCompiler.cs : On windows, use gmcs under 2.0 profile too.

2005-01-19  Jonathan Pryor  <jonpryor@vt.edu>

	* CSharpCodeGenerator.cs: Remove extra ' ' emitted after class name in 
	  GenerateTypeStart().  This removes a regression test failure in
	  MonoTests.Microsoft.CSharp.CodeGeneratorFromTypeTest.DefaultTypeTest.

2005-01-12  Lluis Sanchez Gual  <lluis@novell.com>

	* CSharpCodeGenerator.cs: Avoid keywords when writing enum members.
	Removed the GetSafeTypeName method. It was a wrong bug fix. Type names
	are expected to always use the full name form, never the alias.

2004-12-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeCompiler.cs: ignore the 'BETA SOFTWARE blah' from gmcs.
	Use stderr to get the errors/warnings instead of stdout. Removed
	obsolete lines from CreateErrorFromString.

2004-10-02 Marek Safar <marek.safar@seznam.cz>

	* CSharpCodeCompiler.cs: Fix #65722.

2004-09-14 Marek Safar <marek.safar@seznam.cz>

	* CSharpCodeGenerator.cs: Fix #65854.

2004-09-08  Lluis Sanchez Gual  <lluis@novell.com>

	* CSharpCodeGenerator.cs: Reverted change in GenerateArrayCreateExpression.
	It was causing regressions.

2004-09-06 Marek Safar <marek.safar@seznam.cz>

	* CSharpCodeGenerator.cs: Implemented NET_2_0 extensions
        
2004-09-01 Marek Safar <marek.safar@seznam.cz>

	* CSharpCodeGenerator.cs : New private member dont_write_semicolon.
	Used for one row "for" syntax.
	(GenerateEvent): Added attributes output.
	(GenerateField): Don't output access and scope modifier for enum field.
	(GenerateConstructor): Added attributes output.
	(QuoteSnippetString): Fixed mixed case type conversion. Replace '+'
	with '.' for nested classes.

2004-07-21  Lluis Sanchez Gual  <lluis@novell.com>

	* CSharpCodeCompiler.cs: Hack to make code generation work in 2.0.

2004-07-13  Peter Williams  <peter@newton.cx>

	* CSharpCodeCompiler.cs (CompileAssemblyFromDomBatch): Include
	counter in the extension so that batch compilations work.
	(CompileAssemblyFromSourceBatch): Same.

2004-07-12  Fawad Halim <fawad@fawad.net>

	* CSharpCodeGenerator.cs : Have GenerateField generate field sans the type for enums.

2004-06-28  Atsushi Enomoto  <atsushi@ximian.com>

	* CSharpCodeCompiler.cs : (only for windows) First check mcs.bat, then
	  check mcs.exe. It enables xsp working with mono windows installer.

2004-06-24  Atsushi Enomoto  <atsushi@ximian.com>

	* CSharpCodeCompiler.cs : On windows we use fixed mono.exe and mcs.exe
	  located by mscorlib.dll.

2004-06-23  Jackson Harper  <jackson@ximian.com>

	* CSharpCodeGenerator.cs (GenerateLabeledStatement): Append a ": "
	to the statement name. Make sure the statement isn't null before
	writing. Patch by Alex Yakunin.
	
2004-06-22  Atsushi Enomoto  <atsushi@ximian.com>

	* CSharpCodeGenerator.cs :
	  Check null argument in CreateValidIdentifier().

2004-06-21  Atsushi Enomoto  <atsushi@ximian.com>

	* CSharpCodeGenerator.cs : Fix for tests. Check type names in
	  CreateValidIdentifier. Implemented IsValidIdentifier.

2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeCompiler.cs: let the TempFileCollection handle the removal
	of the files if needed.

2004-04-26  Atsushi Enomoto  <atsushi@ximian.com>

	* CSharpCodeGenerator.cs : implemented GenerateEvent.
	  Delegate was output as usual class.

2004-03-29  Lluis Sanchez Gual  <lluis@ximian.com>

	* CSharpCodeGenerator.cs: In GetTypeOutput, never escape runtime type names.
	Created a new method GetSafeTypeName to support this.

2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeGenerator.cs: patch from Jaroslaw Kowalski that fixes
	CodeMethodReturnStatement(). Closes bug #54934.

2004-02-27  Jaroslaw Kowalski <jaak@zd.com.pl>
 
	* CSharpCodeGenerator.cs: fixed static property references
	in GeneratePropertyReferenceExpression
 
2004-02-10  Jackson Harper <jackson@ximian.com>

	* CSharpCodeCompiler.cs: Use the temp files collection for
	creating temp files.
	
2004-02-04  Jackson Harper <jackson@ximian.com>

	* CSharpCodeGenerator.cs: Don't write ToThrow statement if it is
	null (matches MS output). When creating comments there is a space
	after the first // but not the following lines.
	
2004-01-21  Atsushi Enomoto <atsushi@ximian.com>

	* CSharpCodeGenerator.cs: Implemented CreateEscapedIdentifier() and
	  CreateValidIdentifier().

2004-01-19  Lluis Sanchez Gual <lluis@ximian.com>

	* CSharpCodeGenerator.cs: Do not generate access and scope modifiers for
	interface methods.

2004-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeCompiler.cs: when generating files from DOM, set the
	encoding to UTF-8 with BOM marker. Fixes bug #52604.

2003-11-12  Lluis Sanchez Gual <lluis@ximian.com>

	* CSharpCodeCompiler.cs: In BuildArgs, add "--" separator between
	options and source files.

2003-10-15  Lluis Sanchez Gual <lluis@ximian.com>

	* CSharpCodeGenerator.cs: added override for the method 
	  GenerateParameterDeclarationExpression. The parameter must be
	  generated with a safe C# name.
	
2003-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeCompiler.cs: don't leave temporary files around.

2003-09-04  Lluis Sanchez Gual <lluis@ximian.com>

	* CSharpCodeGenerator.cs: Fixed generation of array construction with
	initializers. Render return type custom attributes.

2003-08-15  Jaroslaw Kowalski <jarek@atm.com.pl>

	* CSharpCodeGenerator.cs:
	
	  - fixed support for method references where target
		object is null
	  - fixed CodeThrowExceptionStatement
	  - disabled member access modifiers for private method
	    implementations
	  - disabled generation of empty method body for interface
	    declarations
	  - disabled generation of empty property accessor bodies
	    in interface declarations
	  - added support for indexers (properties named "Item")
	  - added support for chained constructor arguments and
	    base constructor arguments

2003-08-05  Lluis Sanchez Gual <lluis@ximian.com>

	* CSharpCodeGenerator.cs: Added method GetSafeName() that checks if
	  a given id is a C# keyword, and returns the same if if it is not,
	  or @id if it is a keyword. This method is used everywhere
	  a name is rendered.

2003-08-05  Lluis Sanchez Gual <lluis@ximian.com>

	* CSharpCodeGenerator.cs: GenerateComment(): Render multiline comments.

2003-07-30  Lluis Sanchez Gual <lluis@ximian.com>

	* CSharpCodeGenerator.cs: GenerateTypeStart(): Write type custom attributes

2003-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* CSharpCodeCompiler.cs: Few fixes for update in CodeDom.Compiler

2003-07-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeCompiler.cs: ignore debug statistics in mcs output when
	debug is turned on.

2003-07-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeCompiler.cs: patch from pelle.johnsen@mail.dk (Pelle
	Johnsen) that fixes bug #45708.

2003-05-17  Ben Maurer <bmaurer@users.sourceforge.net>

	* CSharpCodeGenerator.cs: implemented GenerateLinePragma{Start, End}. 
	Marked GenerateEvent as MonoTODO.

2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeCompiler.cs: add quotes around out assembly name.

2003-04-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeCompiler.cs:
	(CompileAssemblyFromDomBatch): add the assemblies referenced by the
	CodeCompileUnits to the options.

2003-04-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeCompiler.cs: set NativeCompilerReturnValue.

2003-04-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeGenerator.cs:
	(QuoteSnippetString): add a few common escape sequences.

2003-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeGenerator.cs: implemented GenerateSnippetMember and some
	little fixes.

2003-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CSharpCodeGenerator.cs: beautified conditional statements. Implemented
	GenerateConstructor and GenerateTypeConstructor.

2003-01-10  Duncan Mak  <duncan@ximian.com>

	* CSharpCodeCompiler.cs: 
	* CSharpCodeProvider.cs: Patch from Sean Kasun
	<skasun@azstarnet.com> to implement CSharpCodeCompiler.

2002-12-07 Jackson Harper <jackson@latitudegeo.com>

	* CompilerError.cs Compiler.cs: Moving these classes to their own assembly

2002-11-11 Jackson Harper <jackson@latitudegeo.com>

	* CompilerError.cs: Reordered ErrorLevel enumeration to match MS values

2002-11-11 Jackson Harper <jackson@latitudegeo.com>

	* CompilerError.cs: Error levels are now lower case to match MS spec

2002-11-9 Jackson Harper <jackson@latitudegeo.com>

	* CompilerError.cs: ToString() Do not show source file info if there was no source file in the error message

2002-11-6 Jackson Harper <jackson@latitudegeo.com>

	* Compiler.cs: No longers waits untill mcs is finished running to read output, this should prevent
	crashes from buffers filling up.	

2002-11-4 Jackson Harper <jackson@latitudegeo.com>

	* Compiler.cs CompilerError.cs: Fixed (C) in header
	
2002-11-4 Jackson Harper <jackson@latitudegeo.com>

	* Compiler.cs: Added file

2002-11-4 Jackson Harper <jackson@latitudegeo.com>

	* CompilerError.cs: Changed FileName property to the correct name 'SourceFile'

2002-10-30 Jackson Harper <jackson@latitudegeo.com>

	* CompilerError.cs: Added class
	
2002-10-19  Rachel Hestilow <hestilow@ximian.com>

	* CSharpCodeProvider.cs
	(GeneratePropertySetValueReferenceExpression): Implement.
	(GenerateField, GenerateMethod): Only call OutputAttributeDeclarations
	if there are any attributes.
	(GenerateProperty): Implement.
	 
2002-10-11  Duncan Mak  <duncan@ximian.com>

	* CSharpCodeProvider.cs: Fix constructor visibility.

2002-05-28  Daniel Stodden <stodden@in.tum.de>

	* ChangeLog: added

	* CSharpCodeProvider.cs: added

	* CSharpCodeGenerator.cs: C# Code Generator. Not fully complete
	but doing fairly well.
