2010-04-13  Jonathan Pryor  <jpryor@novell.com>

	* CodeGenerator.cs: Clear out the current member when beginning Type
	  generation.  This prevents "invalid" `#endregion`s; if the
	  CodeGenerator instance is reused for multiple types, the last member
	  of the first type has an EndDirective, then the EndDirectvies will
	  be generated before any members of the 2nd type.  Don't do that.

2010-04-07  Jb Evain  <jbevain@novell.com>

	* Executor.cs: make class static.

2010-04-01  Jb Evain  <jbevain@novell.com>

	* CodeDomProvider.cs, CompilerInfo.cs: add .net 4.0 overloads.

2010-03-06  Marek Habersack  <mhabersack@novell.com>

	* CompilerCollection.cs: in the 4.0 profile, the latest C#
	standard is the compiler's default.

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

	* CompilerCollection.cs: use all the compiler information from
	config file when adding new CompilerInfo. Fixes bug #433802

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

	* CompilerResults.cs: Output can be set internally.

2008-02-10  Juraj Skripsky  <js@hotfeet.ch>

	* CodeGenerator.cs: Mark CurrentClass internal for NET_1_1.
	Add nested Visitor class and member. 
	GenerateExpression, GenerateStatement, GenerateType: Use visitor.
	GeneratePrimitiveExpression: Replace if-else chain with switch
	on TypeCode. 

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

	* CodeGenerator.cs: Fixed ArgumentException argument names. Indent
	expression list.

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

	* Compiler.cs: added support for the default collection of
	<providerOption> child elements and corresponding public
	properties (ProviderOptions and ProviderOptionsDictionary).

	* CompilerInfo.cs: added ProviderOptions dictionary, to hold
	values from the <providerOption> collection of the
	system.codeDom/compilers/compiler/ element.
	CodeDomProviderType throws an exception if the provider type
	cannot be found, as per MSDN.
	CreateProvider uses the new provider constructor which takes
	provider options dictionary as its parameter, if found in the
	provider type.

	* CompilerCollection.cs: compiler defaults are initialized using
	the provider options dictionary, with one option present -
	"CompilerVersion" set to "2.0".
	Two dictionaries to map languages and extensions to compiler
	information objects added.

	* CompilerProviderOption.cs: added - implements the
	<providerOption> element.

	* CompilerProviderOptionsCollection.cs: added - implements
	collection for the 2.0sp1 <providerOption> child element of the
	system.codeDom/compilers/compiler element.

2007-03-05  Peter Dettman <peter.dettman@iinet.net.au>

	* Codegenerator.cs: I noticed an `unreachable code' warning while
	building Mono:

	System.CodeDom.Compiler/CodeGenerator.cs(1229,42): warning CS0162:
	Unreachable code detected

	This turned out to be in the method
	CodeGenerator.IsValidLanguageIndependentIdentifier, which was
	broken.

	The following patch contains a unit test to demonstrate the
	problem (checked against MS.NET), and a fix to CodeGenerator.cs.

2007-02-22  Marek Habersack  <grendello@gmail.com>

	* CompilerCollection.cs: be case-insensitive with languages and
	extensions when looking up the compiler.

2007-01-22  Miguel de Icaza  <miguel@novell.com>

	* CodeDomProvider.cs: Prevent Moma from getting confused.

2006-11-17  Atsushi Enomoto  <atsushi@ximian.com>

	* TempFileCollection.cs : make it work under non-libc environment.

2006-11-16  Marek Habersack  <grendello@gmail.com>

	* Compiler.cs: ConfigurationElement to handle the <compiler>
	sub-element of the <system.codedom> section

	* CodeDomConfigurationHandler.cs: Reimplemented as a
	ConfigurationSection. Made the class internal.

	* CompilerCollection.cs: Collection of Compiler and CompilerInfo
	objects. Uses List<CompilerInfo> as we need to be able to store
	multiple entries for the same language, as .NET does.

	* CodeDomProvider.cs: Changes to use the new
	CodeDomConfigurationHandler class.

2006-11-07  Marek Habersack  <grendello@gmail.com>

	* CompilerInfo.cs: Implement the CreateDefaultCompilerParameters API.

	* CodeDomConfigurationHandler.cs: WarningLevel of CompilerInfo
	should default to -1 if it is absent from the config file, as per
	MSDN.

2006-11-06  Marek Habersack  <grendello@gmail.com>

	* CodeDomProvider.cs: IsDefinedLanguage should return true if
	CompilerInfo for the specified language exists.

	* CodeDomConfigurationHandler.cs: add an instance of CompilerInfo
	separately for each language name defined in the compiler's
	definition.

2006-09-15  LLuis Sanchez Gual  <lluis@novell.com>

	* TempFileCollection.cs: Create files in a temporary subdirectory,
	for security reasons.
	* CodeCompiler.cs: Let TempFileCollection choose the temp dir.

2006-05-04  LLuis Sanchez Gual  <lluis@novell.com>

	* TempFileCollection.cs: Make sure generated file names
	  are unique. Fixes bug #76125 and #78230.

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

	* CodeGenerator.cs: Output empty line between types if 
	BlankLinesBetweenMembers option is set.

2006-03-24  Chris Toshok  <toshok@ximian.com>

	* CompilerInfo.cs (Init): make this internal as well, so
	CodeDomConfigurationHandler can call it.

	* CodeDomConfigurationHandler.cs (ReadCompilers): we need to call
	CompilerInfo.Init after setting CompilerInfo.TypeName.

2006-03-11  Miguel de Icaza  <miguel@novell.com>

	* CodeDomConfigurationHandler.cs: Comment out unused methods. 

	* TempFileCollection.cs: Implement explicitly some interface
	methods to get rid of the "!" errors on CorCompare.

2006-02-19  Zoltan Varga  <vargaz@gmail.com>

	* CodeDomProvider.cs: Fix the [ToolboxItem] attribute. Fixes #77513.

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

	* CodeGenerator.cs: Modified GeneratePrimitiveExpression to throw 
	ArgumentException for sbyte value, use GenerateSingleFloatValue for 
	float, GenerateDecimalValue for decimal and GenerateDoubleValue for
	double. Modified exception message for non-primitive types to match
	MS.NET.
	* ICodeCompiler.cs: Set eol-style to native.
	* CodeCompiler.cs: Set eol-style to native.
	* CodeDomConfigurationHandler.cs: Set eol-style to native.
	* CodeDomProvider.cs: Set eol-style to native.
	* CodeGeneratorOptions.cs: Set eol-style to native.
	* CodeParser.cs: Set eol-style to native.
	* CompilerError.cs: Set eol-style to native.
	* CompilerErrorCollection.cs: Set eol-style to native.
	* CompilerInfo.cs: Set eol-style to native.
	* CompilerParameters.cs: Set eol-style to native.
	* CompilerResults.cs: Set eol-style to native.
	* Executor.cs: Set eol-style to native.
	* GeneratorSupport.cs: Set eol-style to native.
	* ICodeGenerator.cs: Set eol-style to native.
	* ICodeParser.cs: Set eol-style to native.
	* LanguageOptions.cs: Set eol-style to native.
	* TempFileCollection.cs: Set eol-style to native.

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

	* CodeGenerator.cs: Corrected line endings. Set eol-style to native.
	* IndentedTextWriter.cs: Indent can no longer become negative.

2005-11-04  Sebastien Pouliot  <sebastien@ximian.com> 

	* CodeCompiler.cs: Compile now use the Executor class (instead of the
	Process class). Fixed JoinStringArray.
	* CompilerResults.cs: Load assembly only when the property is called.

2005-11-02  Sebastien Pouliot  <sebastien@ximian.com> 

	* Executor.cs: Reworked (for permissions) and fixed ExitCode (must be 
	called before Close).

2005-11-01  Sebastien Pouliot  <sebastien@ximian.com> 
 
	* CodeGenerator.cs: Added/stubbed missing 2.0 stuff.

2005-11-01  Sebastien Pouliot  <sebastien@ximian.com>

	CodeDomProvider.cs: Added missing 2.0 methods. Added CAS permissions.
	Added protection against NullReferenceException when no config is
	available.

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

	CodeDomProvider.cs: Stubbed a few 2.0 methods to fix API errors in 
	derived classes.

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

	* CompilerError.cs: Added LinkDemand for Unrestricted before 2.0.
	* CompilerErrorCollection.cs: Added LinkDemand for Unrestricted before
	2.0.

2005-10-25  Sebastien Pouliot  <sebastien@ximian.com> 
 
	* CodeGenerator.cs: Fixed OutputAttributeArgument not to assume the
	default value is null (it's String.Empty).

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

	* CompilerParameters.cs: Added [ComVisible(false)] on the new (2.0)
	EmbeddedResources and LinkedResources properties.
	* TempFileCollection.cs: Changed BasePath property to use Path.
	GetTempPath (Environment check) and added the PathDiscovery check on
	the combined result. Fixed TempDir so it's value never change (i.e. 
	imply that it doesn't need any permissions). Fixed SyncRoot to always 
	return null.

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

	* CodeGeneratorOptions.cs: Fixed how properties are kept inside the
	IDictionary (which is just like System.Web.dll).
	* CompilerError.cs: Added [Serializable] attribute for 2.0.
	* CompilerInfo.cs: Added LinkDemand for Unrestricted. Stubbed new 
	(2.0) CreateDefaultCompilerParameters method.
	* CompilerParameters.cs: Added LinkDemand and InheritanceDemand for
	Unrestricted. Added Demand for ControlEvidence to Evidence property.
	Added new (2.0) EmbeddedResources and LinkedResources properties.
	* CompilerResults.cs: Added LinkDemand and InheritanceDemand for 
	Unrestricted. Added Demand for ControlEvidence to Evidence property.
	* Executor.cs: Added LinkDemand for Unrestricted. Added support for 
	userToken (impersonation).
	* GeneratedCodeAttribute.cs: New. 2.0 attribute for code generated by 
	tools.
	* IndentedTextWriter.cs: Added LinkDemand and InheritanceDemand for 
	Unrestricted.

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

	* TempFileCollection.cs: Added a call to GC.SuppressFinalize in 
	Dispose.

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

	* CodeGenerator.cs: In OutputMemberScopeModifier, only output 
	"new" modifier in 2.0 profile.

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

	* CodeGenerator.cs: Threat delegates like any other type.

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

	* CodeGenerator.cs: Fixed IsCurrentClass to return false for delegate.

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

	* CodeGenerator.cs: On 2.0 profile, internal members are also marked
	virtual. Fixed access modifier for FamilyAndAssembly to match
	MS.NET.

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

	* CodeGenerator.cs: Fixed bug #75190, GenerateCodeFromCompileUnit
	generates no code for CodeSnippetCompileUnit.

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

	* IndentedTextWriter.cs: also output tabs in WriteLine () to
	match MS.NET

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

	* CodeDomProvider.cs: implemented IsDefined* and GetCompilerInfo.
	* CompilerInfo.cs: implemented.
	* CodeDomConfigurationHandler.cs: system.codedom section reader.

2005-01-27  LLuis Sanchez Gual  <lluis@novell.com>

	* CodeGenerator.cs: Write 'f' suffix for float constants.

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

	* CodeGenerator.cs,
	* GeneratorSupport.cs : Implemented NET_2_0 extension
        
        * CompilerInfo.cs : New NET_2_0 file.

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

	* CodeGenerator.cs : Added newline after global attributes output.
	(OutputAttributeDeclaration): Replace '+' with '.' for nested
	attribute types.

2004-08-09  Atsushi Enomoto  <atsushi@ximian.com>

	* CodeGenerator.cs :
	  Don't initialize output more than once. TextWriter is wrapped twice.

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

	* CodeGenerator.cs: Have the basic generator create line pragmas
	for NamespaceImports, SnippetCompileUnits, and TypeMembers, all of
	which had LinePragma members which were going unused.

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

	* CompilerError.cs:
	* CodeGenerator.cs: Make sure we are using invariant for non
	culture sensitive operations.
	
2004-06-13  Gert Driesen <drieseng@users.sourceforge.net>

	* IndentedTextWriter.cs: have DefaultTabString correspond with
	MS.NET (meaning four spaces)

2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* TempFileCollection.cs: don't create a Random object on every call to
	BasePath.

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

	* CodeGenerator.cs : delegate was output as usual class.

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

	* Executor.cs: Implemented.

2004-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* TempFileCollection.cs: fixed typo in Delete. Closes bug #54443.

2004-02-10  Jackson Harper <jackson@ximian.com>

	* CompilerParameters.cs: TempFiles should never return null.
	
2004-02-04  Jackson Harper <jackson@ximian.com>

	* CodeGenerator.cs (GenerateExpression): Don't allow null
	expressions. Throw ArgumentException if the expression type is not
	handled.
	* CodeGenerator.cs (GenerateStatement): Add line pragmas if they
	are set. Throw ArgumentException if the expression type is not handled.
	
2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* TempFileCollection.cs: fixed temp path in BaseDir.

2003-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CodeGenerator.cs: fixed assembly level attribute generation.

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

	* CodeGenerator.cs: When sorting the members of a type, keep the
	relative order of the members of the same kind.

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

	* CodeGenerator.cs: Generate comments for properties and fields.
	  Write a line separator between type declarations.

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

	* Executor.cs: Changed abstract to sealed

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

	* CodeDomProvider.cs: Removed unneccesary attribute according to corecompare
	* Executor.cs: Fixed signature with ref calls according to corecompare and made neccessary changes

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

	* CodeCompiler.cs: Nearly completely implemented
	* CodeDomProvider.cs: Added missing Attribute, restyled according to style guidelines
	* CodeGenerator.cs: Fixed visibilies, added missing members, implemented members, stubbed out missing member, restyled according to style guidelines
	* CodeParser.cs: Added and implemented (ok no real implementation needed ;)
	* CompilerErrorCollection.cs: Removed unneeded MonoTODOs, restyled according to style guidelines
	* CompilerParameters.cs: Fixed wrong properties, Added Initializers, restyled according to style guidelines
	* CompilerResults.cs: Added Evidence property, added initial values
	* Executor.cs: Added and partially implemented (should probably be used by CodeCompiler)
	
	* CompilerOptions.cs: Deleted this file (such a class does not exist)
	
2003-05-16  Dick Porter  <dick@ximian.com>

	* TempFileCollection.cs: Implement

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

	* CodeGenerator.cs:
	(GenerateSnippetStatement): use WriteLine instead of Write.

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

	* CodeGenerator.cs:
	(GenerateCodePrimitive): special case strings and chars (bool was
	already a special case). Throw an exception if the type is not a
	primitive type.

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

	* CodeGenerator.cs: more fixes and sorted the output.
	
	* IndentedTextWriter.cs: don't output tabs in WriteLine ().

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

	* CodeGenerator.cs:
	(GenerateCompileUnitStart):
	(GenerateCompileUnitEnd): removed debug output.
	(GeneratePrimitiveExpression): handle null and bool as special cases.
	(GenerateType): added type constructor and constructor calls.

2003-02-20  Alfonso Ali <isa@infomed.sld.cu>

	* CodeGenerator.cs: Generates the entry point method.

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

	* CompilerErrorCollection.cs: 
	* CompilerParameters.cs: Patch from Sean Kasun
	<skasun@azstarnet.com> implementing most of the MonoTODOs in
	CompilerErrorCollection and the CompilerParameters overloads in CompilerParameters.cs.

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

	* CodeCompiler.cs: Removed TODO attribute from abstract members

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

	* CodeCompiler.cs: Added stub

2002-09-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CodeDomProvider.cs:
	* IndentedTextWriter.cs: misc. fixes.

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

	* CompilerError.cs: implemented.
	* CompilerErrorCollection.cs: stubbed out and fix inheritance.
	* GeneratorSupport.cs: fixed values.

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

	* CodeDomProvider.cs: added, incomplete

	* CodeGeneratorOptions.cs: added, complete

	* CompilerErrorCollection.cs: added, stub

	* CompilerOptions.cs: added, stub

	* CompilerResults.cs: added, complete

	* GeneratorSupport.cs: added, complete

	* ICodeCompiler.cs: added, complete

	* ICodeParser.cs: added, complete

	* IndentedTextWriter.cs: added, complete

	* LanguageOptions.cs: added, complete

	* TempFileCollection.cs: added, stub
	
	* ICodeGenerator.cs: added, complete

2002-01-05  Ravi Pratap  <ravi@ximian.com>

	* CodeGenerator.cs : Mark bits with MonoTODO.

2001-07-15  Sean MacIsaac  <macisaac@ximian.com>

	* CodeGenerator.cs: moved using statement out of namespace
	declaration.

