1 2010-04-13 Jonathan Pryor <jpryor@novell.com>
3 * CodeGenerator.cs: Clear out the current member when beginning Type
4 generation. This prevents "invalid" `#endregion`s; if the
5 CodeGenerator instance is reused for multiple types, the last member
6 of the first type has an EndDirective, then the EndDirectvies will
7 be generated before any members of the 2nd type. Don't do that.
9 2010-04-07 Jb Evain <jbevain@novell.com>
11 * Executor.cs: make class static.
13 2010-04-01 Jb Evain <jbevain@novell.com>
15 * CodeDomProvider.cs, CompilerInfo.cs: add .net 4.0 overloads.
17 2010-03-06 Marek Habersack <mhabersack@novell.com>
19 * CompilerCollection.cs: in the 4.0 profile, the latest C#
20 standard is the compiler's default.
22 2008-10-09 Marek Habersack <mhabersack@novell.com>
24 * CompilerCollection.cs: use all the compiler information from
25 config file when adding new CompilerInfo. Fixes bug #433802
27 2008-02-26 Marek Habersack <mhabersack@novell.com>
29 * CompilerResults.cs: Output can be set internally.
31 2008-02-10 Juraj Skripsky <js@hotfeet.ch>
33 * CodeGenerator.cs: Mark CurrentClass internal for NET_1_1.
34 Add nested Visitor class and member.
35 GenerateExpression, GenerateStatement, GenerateType: Use visitor.
36 GeneratePrimitiveExpression: Replace if-else chain with switch
39 2008-01-27 Gert Driesen <drieseng@users.sourceforge.net>
41 * CodeGenerator.cs: Fixed ArgumentException argument names. Indent
44 2007-12-15 Marek Habersack <mhabersack@novell.com>
46 * Compiler.cs: added support for the default collection of
47 <providerOption> child elements and corresponding public
48 properties (ProviderOptions and ProviderOptionsDictionary).
50 * CompilerInfo.cs: added ProviderOptions dictionary, to hold
51 values from the <providerOption> collection of the
52 system.codeDom/compilers/compiler/ element.
53 CodeDomProviderType throws an exception if the provider type
54 cannot be found, as per MSDN.
55 CreateProvider uses the new provider constructor which takes
56 provider options dictionary as its parameter, if found in the
59 * CompilerCollection.cs: compiler defaults are initialized using
60 the provider options dictionary, with one option present -
61 "CompilerVersion" set to "2.0".
62 Two dictionaries to map languages and extensions to compiler
63 information objects added.
65 * CompilerProviderOption.cs: added - implements the
66 <providerOption> element.
68 * CompilerProviderOptionsCollection.cs: added - implements
69 collection for the 2.0sp1 <providerOption> child element of the
70 system.codeDom/compilers/compiler element.
72 2007-03-05 Peter Dettman <peter.dettman@iinet.net.au>
74 * Codegenerator.cs: I noticed an `unreachable code' warning while
77 System.CodeDom.Compiler/CodeGenerator.cs(1229,42): warning CS0162:
78 Unreachable code detected
80 This turned out to be in the method
81 CodeGenerator.IsValidLanguageIndependentIdentifier, which was
84 The following patch contains a unit test to demonstrate the
85 problem (checked against MS.NET), and a fix to CodeGenerator.cs.
87 2007-02-22 Marek Habersack <grendello@gmail.com>
89 * CompilerCollection.cs: be case-insensitive with languages and
90 extensions when looking up the compiler.
92 2007-01-22 Miguel de Icaza <miguel@novell.com>
94 * CodeDomProvider.cs: Prevent Moma from getting confused.
96 2006-11-17 Atsushi Enomoto <atsushi@ximian.com>
98 * TempFileCollection.cs : make it work under non-libc environment.
100 2006-11-16 Marek Habersack <grendello@gmail.com>
102 * Compiler.cs: ConfigurationElement to handle the <compiler>
103 sub-element of the <system.codedom> section
105 * CodeDomConfigurationHandler.cs: Reimplemented as a
106 ConfigurationSection. Made the class internal.
108 * CompilerCollection.cs: Collection of Compiler and CompilerInfo
109 objects. Uses List<CompilerInfo> as we need to be able to store
110 multiple entries for the same language, as .NET does.
112 * CodeDomProvider.cs: Changes to use the new
113 CodeDomConfigurationHandler class.
115 2006-11-07 Marek Habersack <grendello@gmail.com>
117 * CompilerInfo.cs: Implement the CreateDefaultCompilerParameters API.
119 * CodeDomConfigurationHandler.cs: WarningLevel of CompilerInfo
120 should default to -1 if it is absent from the config file, as per
123 2006-11-06 Marek Habersack <grendello@gmail.com>
125 * CodeDomProvider.cs: IsDefinedLanguage should return true if
126 CompilerInfo for the specified language exists.
128 * CodeDomConfigurationHandler.cs: add an instance of CompilerInfo
129 separately for each language name defined in the compiler's
132 2006-09-15 LLuis Sanchez Gual <lluis@novell.com>
134 * TempFileCollection.cs: Create files in a temporary subdirectory,
135 for security reasons.
136 * CodeCompiler.cs: Let TempFileCollection choose the temp dir.
138 2006-05-04 LLuis Sanchez Gual <lluis@novell.com>
140 * TempFileCollection.cs: Make sure generated file names
141 are unique. Fixes bug #76125 and #78230.
143 2006-04-20 Gert Driesen <drieseng@users.sourceforge.net>
145 * CodeGenerator.cs: Output empty line between types if
146 BlankLinesBetweenMembers option is set.
148 2006-03-24 Chris Toshok <toshok@ximian.com>
150 * CompilerInfo.cs (Init): make this internal as well, so
151 CodeDomConfigurationHandler can call it.
153 * CodeDomConfigurationHandler.cs (ReadCompilers): we need to call
154 CompilerInfo.Init after setting CompilerInfo.TypeName.
156 2006-03-11 Miguel de Icaza <miguel@novell.com>
158 * CodeDomConfigurationHandler.cs: Comment out unused methods.
160 * TempFileCollection.cs: Implement explicitly some interface
161 methods to get rid of the "!" errors on CorCompare.
163 2006-02-19 Zoltan Varga <vargaz@gmail.com>
165 * CodeDomProvider.cs: Fix the [ToolboxItem] attribute. Fixes #77513.
167 2005-12-07 Gert Driesen <drieseng@users.sourceforge.net>
169 * CodeGenerator.cs: Modified GeneratePrimitiveExpression to throw
170 ArgumentException for sbyte value, use GenerateSingleFloatValue for
171 float, GenerateDecimalValue for decimal and GenerateDoubleValue for
172 double. Modified exception message for non-primitive types to match
174 * ICodeCompiler.cs: Set eol-style to native.
175 * CodeCompiler.cs: Set eol-style to native.
176 * CodeDomConfigurationHandler.cs: Set eol-style to native.
177 * CodeDomProvider.cs: Set eol-style to native.
178 * CodeGeneratorOptions.cs: Set eol-style to native.
179 * CodeParser.cs: Set eol-style to native.
180 * CompilerError.cs: Set eol-style to native.
181 * CompilerErrorCollection.cs: Set eol-style to native.
182 * CompilerInfo.cs: Set eol-style to native.
183 * CompilerParameters.cs: Set eol-style to native.
184 * CompilerResults.cs: Set eol-style to native.
185 * Executor.cs: Set eol-style to native.
186 * GeneratorSupport.cs: Set eol-style to native.
187 * ICodeGenerator.cs: Set eol-style to native.
188 * ICodeParser.cs: Set eol-style to native.
189 * LanguageOptions.cs: Set eol-style to native.
190 * TempFileCollection.cs: Set eol-style to native.
192 2005-11-30 Gert Driesen <drieseng@users.sourceforge.net>
194 * CodeGenerator.cs: Corrected line endings. Set eol-style to native.
195 * IndentedTextWriter.cs: Indent can no longer become negative.
197 2005-11-04 Sebastien Pouliot <sebastien@ximian.com>
199 * CodeCompiler.cs: Compile now use the Executor class (instead of the
200 Process class). Fixed JoinStringArray.
201 * CompilerResults.cs: Load assembly only when the property is called.
203 2005-11-02 Sebastien Pouliot <sebastien@ximian.com>
205 * Executor.cs: Reworked (for permissions) and fixed ExitCode (must be
206 called before Close).
208 2005-11-01 Sebastien Pouliot <sebastien@ximian.com>
210 * CodeGenerator.cs: Added/stubbed missing 2.0 stuff.
212 2005-11-01 Sebastien Pouliot <sebastien@ximian.com>
214 CodeDomProvider.cs: Added missing 2.0 methods. Added CAS permissions.
215 Added protection against NullReferenceException when no config is
218 2005-10-29 Sebastien Pouliot <sebastien@ximian.com>
220 CodeDomProvider.cs: Stubbed a few 2.0 methods to fix API errors in
223 2005-10-25 Sebastien Pouliot <sebastien@ximian.com>
225 * CompilerError.cs: Added LinkDemand for Unrestricted before 2.0.
226 * CompilerErrorCollection.cs: Added LinkDemand for Unrestricted before
229 2005-10-25 Sebastien Pouliot <sebastien@ximian.com>
231 * CodeGenerator.cs: Fixed OutputAttributeArgument not to assume the
232 default value is null (it's String.Empty).
234 2005-10-25 Sebastien Pouliot <sebastien@ximian.com>
236 * CompilerParameters.cs: Added [ComVisible(false)] on the new (2.0)
237 EmbeddedResources and LinkedResources properties.
238 * TempFileCollection.cs: Changed BasePath property to use Path.
239 GetTempPath (Environment check) and added the PathDiscovery check on
240 the combined result. Fixed TempDir so it's value never change (i.e.
241 imply that it doesn't need any permissions). Fixed SyncRoot to always
244 2005-10-24 Sebastien Pouliot <sebastien@ximian.com>
246 * CodeGeneratorOptions.cs: Fixed how properties are kept inside the
247 IDictionary (which is just like System.Web.dll).
248 * CompilerError.cs: Added [Serializable] attribute for 2.0.
249 * CompilerInfo.cs: Added LinkDemand for Unrestricted. Stubbed new
250 (2.0) CreateDefaultCompilerParameters method.
251 * CompilerParameters.cs: Added LinkDemand and InheritanceDemand for
252 Unrestricted. Added Demand for ControlEvidence to Evidence property.
253 Added new (2.0) EmbeddedResources and LinkedResources properties.
254 * CompilerResults.cs: Added LinkDemand and InheritanceDemand for
255 Unrestricted. Added Demand for ControlEvidence to Evidence property.
256 * Executor.cs: Added LinkDemand for Unrestricted. Added support for
257 userToken (impersonation).
258 * GeneratedCodeAttribute.cs: New. 2.0 attribute for code generated by
260 * IndentedTextWriter.cs: Added LinkDemand and InheritanceDemand for
263 2005-10-04 Sebastien Pouliot <sebastien@ximian.com>
265 * TempFileCollection.cs: Added a call to GC.SuppressFinalize in
268 2005-07-30 Gert Driesen <drieseng@users.sourceforge.net>
270 * CodeGenerator.cs: In OutputMemberScopeModifier, only output
271 "new" modifier in 2.0 profile.
273 2005-07-24 Gert Driesen <drieseng@users.sourceforge.net>
275 * CodeGenerator.cs: Threat delegates like any other type.
277 2005-07-21 Gert Driesen <drieseng@users.sourceforge.net>
279 * CodeGenerator.cs: Fixed IsCurrentClass to return false for delegate.
281 2005-06-28 Gert Driesen <drieseng@users.sourceforge.net>
283 * CodeGenerator.cs: On 2.0 profile, internal members are also marked
284 virtual. Fixed access modifier for FamilyAndAssembly to match
287 2005-06-25 Gert Driesen <drieseng@users.sourceforge.net>
289 * CodeGenerator.cs: Fixed bug #75190, GenerateCodeFromCompileUnit
290 generates no code for CodeSnippetCompileUnit.
292 2005-06-04 Gert Driesen <drieseng@users.sourceforge.net>
294 * IndentedTextWriter.cs: also output tabs in WriteLine () to
297 2005-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
299 * CodeDomProvider.cs: implemented IsDefined* and GetCompilerInfo.
300 * CompilerInfo.cs: implemented.
301 * CodeDomConfigurationHandler.cs: system.codedom section reader.
303 2005-01-27 LLuis Sanchez Gual <lluis@novell.com>
305 * CodeGenerator.cs: Write 'f' suffix for float constants.
307 2004-09-06 Marek Safar <marek.safar@seznam.cz>
310 * GeneratorSupport.cs : Implemented NET_2_0 extension
312 * CompilerInfo.cs : New NET_2_0 file.
314 2004-09-01 Marek Safar <marek.safar@seznam.cz>
316 * CodeGenerator.cs : Added newline after global attributes output.
317 (OutputAttributeDeclaration): Replace '+' with '.' for nested
320 2004-08-09 Atsushi Enomoto <atsushi@ximian.com>
323 Don't initialize output more than once. TextWriter is wrapped twice.
325 2004-07-15 Peter Williams <peter@newton.cx>
327 * CodeGenerator.cs: Have the basic generator create line pragmas
328 for NamespaceImports, SnippetCompileUnits, and TypeMembers, all of
329 which had LinePragma members which were going unused.
331 2004-06-17 Jackson Harper <jackson@ximian.com>
334 * CodeGenerator.cs: Make sure we are using invariant for non
335 culture sensitive operations.
337 2004-06-13 Gert Driesen <drieseng@users.sourceforge.net>
339 * IndentedTextWriter.cs: have DefaultTabString correspond with
340 MS.NET (meaning four spaces)
342 2004-05-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
344 * TempFileCollection.cs: don't create a Random object on every call to
347 2004-04-26 Atsushi Enomoto <atsushi@ximian.com>
349 * CodeGenerator.cs : delegate was output as usual class.
351 2004-03-29 Lluis Sanchez Gual <lluis@ximian.com>
353 * Executor.cs: Implemented.
355 2004-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
357 * TempFileCollection.cs: fixed typo in Delete. Closes bug #54443.
359 2004-02-10 Jackson Harper <jackson@ximian.com>
361 * CompilerParameters.cs: TempFiles should never return null.
363 2004-02-04 Jackson Harper <jackson@ximian.com>
365 * CodeGenerator.cs (GenerateExpression): Don't allow null
366 expressions. Throw ArgumentException if the expression type is not
368 * CodeGenerator.cs (GenerateStatement): Add line pragmas if they
369 are set. Throw ArgumentException if the expression type is not handled.
371 2003-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
373 * TempFileCollection.cs: fixed temp path in BaseDir.
375 2003-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
377 * CodeGenerator.cs: fixed assembly level attribute generation.
379 2003-08-08 Lluis Sanchez Gual <lluis@ximian.com>
381 * CodeGenerator.cs: When sorting the members of a type, keep the
382 relative order of the members of the same kind.
384 2003-08-05 Lluis Sanchez Gual <lluis@ximian.com>
386 * CodeGenerator.cs: Generate comments for properties and fields.
387 Write a line separator between type declarations.
389 2003-07-10 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
391 * Executor.cs: Changed abstract to sealed
393 2003-07-07 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
395 * CodeDomProvider.cs: Removed unneccesary attribute according to corecompare
396 * Executor.cs: Fixed signature with ref calls according to corecompare and made neccessary changes
398 2003-06-20 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
400 * CodeCompiler.cs: Nearly completely implemented
401 * CodeDomProvider.cs: Added missing Attribute, restyled according to style guidelines
402 * CodeGenerator.cs: Fixed visibilies, added missing members, implemented members, stubbed out missing member, restyled according to style guidelines
403 * CodeParser.cs: Added and implemented (ok no real implementation needed ;)
404 * CompilerErrorCollection.cs: Removed unneeded MonoTODOs, restyled according to style guidelines
405 * CompilerParameters.cs: Fixed wrong properties, Added Initializers, restyled according to style guidelines
406 * CompilerResults.cs: Added Evidence property, added initial values
407 * Executor.cs: Added and partially implemented (should probably be used by CodeCompiler)
409 * CompilerOptions.cs: Deleted this file (such a class does not exist)
411 2003-05-16 Dick Porter <dick@ximian.com>
413 * TempFileCollection.cs: Implement
415 2003-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
418 (GenerateSnippetStatement): use WriteLine instead of Write.
420 2003-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
423 (GenerateCodePrimitive): special case strings and chars (bool was
424 already a special case). Throw an exception if the type is not a
427 2003-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
429 * CodeGenerator.cs: more fixes and sorted the output.
431 * IndentedTextWriter.cs: don't output tabs in WriteLine ().
433 2003-04-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
436 (GenerateCompileUnitStart):
437 (GenerateCompileUnitEnd): removed debug output.
438 (GeneratePrimitiveExpression): handle null and bool as special cases.
439 (GenerateType): added type constructor and constructor calls.
441 2003-02-20 Alfonso Ali <isa@infomed.sld.cu>
443 * CodeGenerator.cs: Generates the entry point method.
445 2003-01-10 Duncan Mak <duncan@ximian.com>
447 * CompilerErrorCollection.cs:
448 * CompilerParameters.cs: Patch from Sean Kasun
449 <skasun@azstarnet.com> implementing most of the MonoTODOs in
450 CompilerErrorCollection and the CompilerParameters overloads in CompilerParameters.cs.
452 2002-11-30 Jackson Harper <jackson@latitudegeo.com>
454 * CodeCompiler.cs: Removed TODO attribute from abstract members
456 2002-11-30 Jackson Harper <jackson@latitudegeo.com>
458 * CodeCompiler.cs: Added stub
460 2002-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
462 * CodeDomProvider.cs:
463 * IndentedTextWriter.cs: misc. fixes.
465 2002-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
467 * CompilerError.cs: implemented.
468 * CompilerErrorCollection.cs: stubbed out and fix inheritance.
469 * GeneratorSupport.cs: fixed values.
471 2002-05-28 Daniel Stodden <stodden@in.tum.de>
473 * CodeDomProvider.cs: added, incomplete
475 * CodeGeneratorOptions.cs: added, complete
477 * CompilerErrorCollection.cs: added, stub
479 * CompilerOptions.cs: added, stub
481 * CompilerResults.cs: added, complete
483 * GeneratorSupport.cs: added, complete
485 * ICodeCompiler.cs: added, complete
487 * ICodeParser.cs: added, complete
489 * IndentedTextWriter.cs: added, complete
491 * LanguageOptions.cs: added, complete
493 * TempFileCollection.cs: added, stub
495 * ICodeGenerator.cs: added, complete
497 2002-01-05 Ravi Pratap <ravi@ximian.com>
499 * CodeGenerator.cs : Mark bits with MonoTODO.
501 2001-07-15 Sean MacIsaac <macisaac@ximian.com>
503 * CodeGenerator.cs: moved using statement out of namespace