1 2008-10-09 Marek Habersack <mhabersack@novell.com>
3 * CompilerCollection.cs: use all the compiler information from
4 config file when adding new CompilerInfo. Fixes bug #433802
6 2008-02-26 Marek Habersack <mhabersack@novell.com>
8 * CompilerResults.cs: Output can be set internally.
10 2008-02-10 Juraj Skripsky <js@hotfeet.ch>
12 * CodeGenerator.cs: Mark CurrentClass internal for NET_1_1.
13 Add nested Visitor class and member.
14 GenerateExpression, GenerateStatement, GenerateType: Use visitor.
15 GeneratePrimitiveExpression: Replace if-else chain with switch
18 2008-01-27 Gert Driesen <drieseng@users.sourceforge.net>
20 * CodeGenerator.cs: Fixed ArgumentException argument names. Indent
23 2007-12-15 Marek Habersack <mhabersack@novell.com>
25 * Compiler.cs: added support for the default collection of
26 <providerOption> child elements and corresponding public
27 properties (ProviderOptions and ProviderOptionsDictionary).
29 * CompilerInfo.cs: added ProviderOptions dictionary, to hold
30 values from the <providerOption> collection of the
31 system.codeDom/compilers/compiler/ element.
32 CodeDomProviderType throws an exception if the provider type
33 cannot be found, as per MSDN.
34 CreateProvider uses the new provider constructor which takes
35 provider options dictionary as its parameter, if found in the
38 * CompilerCollection.cs: compiler defaults are initialized using
39 the provider options dictionary, with one option present -
40 "CompilerVersion" set to "2.0".
41 Two dictionaries to map languages and extensions to compiler
42 information objects added.
44 * CompilerProviderOption.cs: added - implements the
45 <providerOption> element.
47 * CompilerProviderOptionsCollection.cs: added - implements
48 collection for the 2.0sp1 <providerOption> child element of the
49 system.codeDom/compilers/compiler element.
51 2007-03-05 Peter Dettman <peter.dettman@iinet.net.au>
53 * Codegenerator.cs: I noticed an `unreachable code' warning while
56 System.CodeDom.Compiler/CodeGenerator.cs(1229,42): warning CS0162:
57 Unreachable code detected
59 This turned out to be in the method
60 CodeGenerator.IsValidLanguageIndependentIdentifier, which was
63 The following patch contains a unit test to demonstrate the
64 problem (checked against MS.NET), and a fix to CodeGenerator.cs.
66 2007-02-22 Marek Habersack <grendello@gmail.com>
68 * CompilerCollection.cs: be case-insensitive with languages and
69 extensions when looking up the compiler.
71 2007-01-22 Miguel de Icaza <miguel@novell.com>
73 * CodeDomProvider.cs: Prevent Moma from getting confused.
75 2006-11-17 Atsushi Enomoto <atsushi@ximian.com>
77 * TempFileCollection.cs : make it work under non-libc environment.
79 2006-11-16 Marek Habersack <grendello@gmail.com>
81 * Compiler.cs: ConfigurationElement to handle the <compiler>
82 sub-element of the <system.codedom> section
84 * CodeDomConfigurationHandler.cs: Reimplemented as a
85 ConfigurationSection. Made the class internal.
87 * CompilerCollection.cs: Collection of Compiler and CompilerInfo
88 objects. Uses List<CompilerInfo> as we need to be able to store
89 multiple entries for the same language, as .NET does.
91 * CodeDomProvider.cs: Changes to use the new
92 CodeDomConfigurationHandler class.
94 2006-11-07 Marek Habersack <grendello@gmail.com>
96 * CompilerInfo.cs: Implement the CreateDefaultCompilerParameters API.
98 * CodeDomConfigurationHandler.cs: WarningLevel of CompilerInfo
99 should default to -1 if it is absent from the config file, as per
102 2006-11-06 Marek Habersack <grendello@gmail.com>
104 * CodeDomProvider.cs: IsDefinedLanguage should return true if
105 CompilerInfo for the specified language exists.
107 * CodeDomConfigurationHandler.cs: add an instance of CompilerInfo
108 separately for each language name defined in the compiler's
111 2006-09-15 LLuis Sanchez Gual <lluis@novell.com>
113 * TempFileCollection.cs: Create files in a temporary subdirectory,
114 for security reasons.
115 * CodeCompiler.cs: Let TempFileCollection choose the temp dir.
117 2006-05-04 LLuis Sanchez Gual <lluis@novell.com>
119 * TempFileCollection.cs: Make sure generated file names
120 are unique. Fixes bug #76125 and #78230.
122 2006-04-20 Gert Driesen <drieseng@users.sourceforge.net>
124 * CodeGenerator.cs: Output empty line between types if
125 BlankLinesBetweenMembers option is set.
127 2006-03-24 Chris Toshok <toshok@ximian.com>
129 * CompilerInfo.cs (Init): make this internal as well, so
130 CodeDomConfigurationHandler can call it.
132 * CodeDomConfigurationHandler.cs (ReadCompilers): we need to call
133 CompilerInfo.Init after setting CompilerInfo.TypeName.
135 2006-03-11 Miguel de Icaza <miguel@novell.com>
137 * CodeDomConfigurationHandler.cs: Comment out unused methods.
139 * TempFileCollection.cs: Implement explicitly some interface
140 methods to get rid of the "!" errors on CorCompare.
142 2006-02-19 Zoltan Varga <vargaz@gmail.com>
144 * CodeDomProvider.cs: Fix the [ToolboxItem] attribute. Fixes #77513.
146 2005-12-07 Gert Driesen <drieseng@users.sourceforge.net>
148 * CodeGenerator.cs: Modified GeneratePrimitiveExpression to throw
149 ArgumentException for sbyte value, use GenerateSingleFloatValue for
150 float, GenerateDecimalValue for decimal and GenerateDoubleValue for
151 double. Modified exception message for non-primitive types to match
153 * ICodeCompiler.cs: Set eol-style to native.
154 * CodeCompiler.cs: Set eol-style to native.
155 * CodeDomConfigurationHandler.cs: Set eol-style to native.
156 * CodeDomProvider.cs: Set eol-style to native.
157 * CodeGeneratorOptions.cs: Set eol-style to native.
158 * CodeParser.cs: Set eol-style to native.
159 * CompilerError.cs: Set eol-style to native.
160 * CompilerErrorCollection.cs: Set eol-style to native.
161 * CompilerInfo.cs: Set eol-style to native.
162 * CompilerParameters.cs: Set eol-style to native.
163 * CompilerResults.cs: Set eol-style to native.
164 * Executor.cs: Set eol-style to native.
165 * GeneratorSupport.cs: Set eol-style to native.
166 * ICodeGenerator.cs: Set eol-style to native.
167 * ICodeParser.cs: Set eol-style to native.
168 * LanguageOptions.cs: Set eol-style to native.
169 * TempFileCollection.cs: Set eol-style to native.
171 2005-11-30 Gert Driesen <drieseng@users.sourceforge.net>
173 * CodeGenerator.cs: Corrected line endings. Set eol-style to native.
174 * IndentedTextWriter.cs: Indent can no longer become negative.
176 2005-11-04 Sebastien Pouliot <sebastien@ximian.com>
178 * CodeCompiler.cs: Compile now use the Executor class (instead of the
179 Process class). Fixed JoinStringArray.
180 * CompilerResults.cs: Load assembly only when the property is called.
182 2005-11-02 Sebastien Pouliot <sebastien@ximian.com>
184 * Executor.cs: Reworked (for permissions) and fixed ExitCode (must be
185 called before Close).
187 2005-11-01 Sebastien Pouliot <sebastien@ximian.com>
189 * CodeGenerator.cs: Added/stubbed missing 2.0 stuff.
191 2005-11-01 Sebastien Pouliot <sebastien@ximian.com>
193 CodeDomProvider.cs: Added missing 2.0 methods. Added CAS permissions.
194 Added protection against NullReferenceException when no config is
197 2005-10-29 Sebastien Pouliot <sebastien@ximian.com>
199 CodeDomProvider.cs: Stubbed a few 2.0 methods to fix API errors in
202 2005-10-25 Sebastien Pouliot <sebastien@ximian.com>
204 * CompilerError.cs: Added LinkDemand for Unrestricted before 2.0.
205 * CompilerErrorCollection.cs: Added LinkDemand for Unrestricted before
208 2005-10-25 Sebastien Pouliot <sebastien@ximian.com>
210 * CodeGenerator.cs: Fixed OutputAttributeArgument not to assume the
211 default value is null (it's String.Empty).
213 2005-10-25 Sebastien Pouliot <sebastien@ximian.com>
215 * CompilerParameters.cs: Added [ComVisible(false)] on the new (2.0)
216 EmbeddedResources and LinkedResources properties.
217 * TempFileCollection.cs: Changed BasePath property to use Path.
218 GetTempPath (Environment check) and added the PathDiscovery check on
219 the combined result. Fixed TempDir so it's value never change (i.e.
220 imply that it doesn't need any permissions). Fixed SyncRoot to always
223 2005-10-24 Sebastien Pouliot <sebastien@ximian.com>
225 * CodeGeneratorOptions.cs: Fixed how properties are kept inside the
226 IDictionary (which is just like System.Web.dll).
227 * CompilerError.cs: Added [Serializable] attribute for 2.0.
228 * CompilerInfo.cs: Added LinkDemand for Unrestricted. Stubbed new
229 (2.0) CreateDefaultCompilerParameters method.
230 * CompilerParameters.cs: Added LinkDemand and InheritanceDemand for
231 Unrestricted. Added Demand for ControlEvidence to Evidence property.
232 Added new (2.0) EmbeddedResources and LinkedResources properties.
233 * CompilerResults.cs: Added LinkDemand and InheritanceDemand for
234 Unrestricted. Added Demand for ControlEvidence to Evidence property.
235 * Executor.cs: Added LinkDemand for Unrestricted. Added support for
236 userToken (impersonation).
237 * GeneratedCodeAttribute.cs: New. 2.0 attribute for code generated by
239 * IndentedTextWriter.cs: Added LinkDemand and InheritanceDemand for
242 2005-10-04 Sebastien Pouliot <sebastien@ximian.com>
244 * TempFileCollection.cs: Added a call to GC.SuppressFinalize in
247 2005-07-30 Gert Driesen <drieseng@users.sourceforge.net>
249 * CodeGenerator.cs: In OutputMemberScopeModifier, only output
250 "new" modifier in 2.0 profile.
252 2005-07-24 Gert Driesen <drieseng@users.sourceforge.net>
254 * CodeGenerator.cs: Threat delegates like any other type.
256 2005-07-21 Gert Driesen <drieseng@users.sourceforge.net>
258 * CodeGenerator.cs: Fixed IsCurrentClass to return false for delegate.
260 2005-06-28 Gert Driesen <drieseng@users.sourceforge.net>
262 * CodeGenerator.cs: On 2.0 profile, internal members are also marked
263 virtual. Fixed access modifier for FamilyAndAssembly to match
266 2005-06-25 Gert Driesen <drieseng@users.sourceforge.net>
268 * CodeGenerator.cs: Fixed bug #75190, GenerateCodeFromCompileUnit
269 generates no code for CodeSnippetCompileUnit.
271 2005-06-04 Gert Driesen <drieseng@users.sourceforge.net>
273 * IndentedTextWriter.cs: also output tabs in WriteLine () to
276 2005-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
278 * CodeDomProvider.cs: implemented IsDefined* and GetCompilerInfo.
279 * CompilerInfo.cs: implemented.
280 * CodeDomConfigurationHandler.cs: system.codedom section reader.
282 2005-01-27 LLuis Sanchez Gual <lluis@novell.com>
284 * CodeGenerator.cs: Write 'f' suffix for float constants.
286 2004-09-06 Marek Safar <marek.safar@seznam.cz>
289 * GeneratorSupport.cs : Implemented NET_2_0 extension
291 * CompilerInfo.cs : New NET_2_0 file.
293 2004-09-01 Marek Safar <marek.safar@seznam.cz>
295 * CodeGenerator.cs : Added newline after global attributes output.
296 (OutputAttributeDeclaration): Replace '+' with '.' for nested
299 2004-08-09 Atsushi Enomoto <atsushi@ximian.com>
302 Don't initialize output more than once. TextWriter is wrapped twice.
304 2004-07-15 Peter Williams <peter@newton.cx>
306 * CodeGenerator.cs: Have the basic generator create line pragmas
307 for NamespaceImports, SnippetCompileUnits, and TypeMembers, all of
308 which had LinePragma members which were going unused.
310 2004-06-17 Jackson Harper <jackson@ximian.com>
313 * CodeGenerator.cs: Make sure we are using invariant for non
314 culture sensitive operations.
316 2004-06-13 Gert Driesen <drieseng@users.sourceforge.net>
318 * IndentedTextWriter.cs: have DefaultTabString correspond with
319 MS.NET (meaning four spaces)
321 2004-05-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
323 * TempFileCollection.cs: don't create a Random object on every call to
326 2004-04-26 Atsushi Enomoto <atsushi@ximian.com>
328 * CodeGenerator.cs : delegate was output as usual class.
330 2004-03-29 Lluis Sanchez Gual <lluis@ximian.com>
332 * Executor.cs: Implemented.
334 2004-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
336 * TempFileCollection.cs: fixed typo in Delete. Closes bug #54443.
338 2004-02-10 Jackson Harper <jackson@ximian.com>
340 * CompilerParameters.cs: TempFiles should never return null.
342 2004-02-04 Jackson Harper <jackson@ximian.com>
344 * CodeGenerator.cs (GenerateExpression): Don't allow null
345 expressions. Throw ArgumentException if the expression type is not
347 * CodeGenerator.cs (GenerateStatement): Add line pragmas if they
348 are set. Throw ArgumentException if the expression type is not handled.
350 2003-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
352 * TempFileCollection.cs: fixed temp path in BaseDir.
354 2003-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
356 * CodeGenerator.cs: fixed assembly level attribute generation.
358 2003-08-08 Lluis Sanchez Gual <lluis@ximian.com>
360 * CodeGenerator.cs: When sorting the members of a type, keep the
361 relative order of the members of the same kind.
363 2003-08-05 Lluis Sanchez Gual <lluis@ximian.com>
365 * CodeGenerator.cs: Generate comments for properties and fields.
366 Write a line separator between type declarations.
368 2003-07-10 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
370 * Executor.cs: Changed abstract to sealed
372 2003-07-07 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
374 * CodeDomProvider.cs: Removed unneccesary attribute according to corecompare
375 * Executor.cs: Fixed signature with ref calls according to corecompare and made neccessary changes
377 2003-06-20 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
379 * CodeCompiler.cs: Nearly completely implemented
380 * CodeDomProvider.cs: Added missing Attribute, restyled according to style guidelines
381 * CodeGenerator.cs: Fixed visibilies, added missing members, implemented members, stubbed out missing member, restyled according to style guidelines
382 * CodeParser.cs: Added and implemented (ok no real implementation needed ;)
383 * CompilerErrorCollection.cs: Removed unneeded MonoTODOs, restyled according to style guidelines
384 * CompilerParameters.cs: Fixed wrong properties, Added Initializers, restyled according to style guidelines
385 * CompilerResults.cs: Added Evidence property, added initial values
386 * Executor.cs: Added and partially implemented (should probably be used by CodeCompiler)
388 * CompilerOptions.cs: Deleted this file (such a class does not exist)
390 2003-05-16 Dick Porter <dick@ximian.com>
392 * TempFileCollection.cs: Implement
394 2003-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
397 (GenerateSnippetStatement): use WriteLine instead of Write.
399 2003-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
402 (GenerateCodePrimitive): special case strings and chars (bool was
403 already a special case). Throw an exception if the type is not a
406 2003-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
408 * CodeGenerator.cs: more fixes and sorted the output.
410 * IndentedTextWriter.cs: don't output tabs in WriteLine ().
412 2003-04-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
415 (GenerateCompileUnitStart):
416 (GenerateCompileUnitEnd): removed debug output.
417 (GeneratePrimitiveExpression): handle null and bool as special cases.
418 (GenerateType): added type constructor and constructor calls.
420 2003-02-20 Alfonso Ali <isa@infomed.sld.cu>
422 * CodeGenerator.cs: Generates the entry point method.
424 2003-01-10 Duncan Mak <duncan@ximian.com>
426 * CompilerErrorCollection.cs:
427 * CompilerParameters.cs: Patch from Sean Kasun
428 <skasun@azstarnet.com> implementing most of the MonoTODOs in
429 CompilerErrorCollection and the CompilerParameters overloads in CompilerParameters.cs.
431 2002-11-30 Jackson Harper <jackson@latitudegeo.com>
433 * CodeCompiler.cs: Removed TODO attribute from abstract members
435 2002-11-30 Jackson Harper <jackson@latitudegeo.com>
437 * CodeCompiler.cs: Added stub
439 2002-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
441 * CodeDomProvider.cs:
442 * IndentedTextWriter.cs: misc. fixes.
444 2002-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
446 * CompilerError.cs: implemented.
447 * CompilerErrorCollection.cs: stubbed out and fix inheritance.
448 * GeneratorSupport.cs: fixed values.
450 2002-05-28 Daniel Stodden <stodden@in.tum.de>
452 * CodeDomProvider.cs: added, incomplete
454 * CodeGeneratorOptions.cs: added, complete
456 * CompilerErrorCollection.cs: added, stub
458 * CompilerOptions.cs: added, stub
460 * CompilerResults.cs: added, complete
462 * GeneratorSupport.cs: added, complete
464 * ICodeCompiler.cs: added, complete
466 * ICodeParser.cs: added, complete
468 * IndentedTextWriter.cs: added, complete
470 * LanguageOptions.cs: added, complete
472 * TempFileCollection.cs: added, stub
474 * ICodeGenerator.cs: added, complete
476 2002-01-05 Ravi Pratap <ravi@ximian.com>
478 * CodeGenerator.cs : Mark bits with MonoTODO.
480 2001-07-15 Sean MacIsaac <macisaac@ximian.com>
482 * CodeGenerator.cs: moved using statement out of namespace