1 2010-04-01 Jb Evain <jbevain@novell.com>
3 * CodeDomProvider.cs, CompilerInfo.cs: add .net 4.0 overloads.
5 2010-03-06 Marek Habersack <mhabersack@novell.com>
7 * CompilerCollection.cs: in the 4.0 profile, the latest C#
8 standard is the compiler's default.
10 2008-10-09 Marek Habersack <mhabersack@novell.com>
12 * CompilerCollection.cs: use all the compiler information from
13 config file when adding new CompilerInfo. Fixes bug #433802
15 2008-02-26 Marek Habersack <mhabersack@novell.com>
17 * CompilerResults.cs: Output can be set internally.
19 2008-02-10 Juraj Skripsky <js@hotfeet.ch>
21 * CodeGenerator.cs: Mark CurrentClass internal for NET_1_1.
22 Add nested Visitor class and member.
23 GenerateExpression, GenerateStatement, GenerateType: Use visitor.
24 GeneratePrimitiveExpression: Replace if-else chain with switch
27 2008-01-27 Gert Driesen <drieseng@users.sourceforge.net>
29 * CodeGenerator.cs: Fixed ArgumentException argument names. Indent
32 2007-12-15 Marek Habersack <mhabersack@novell.com>
34 * Compiler.cs: added support for the default collection of
35 <providerOption> child elements and corresponding public
36 properties (ProviderOptions and ProviderOptionsDictionary).
38 * CompilerInfo.cs: added ProviderOptions dictionary, to hold
39 values from the <providerOption> collection of the
40 system.codeDom/compilers/compiler/ element.
41 CodeDomProviderType throws an exception if the provider type
42 cannot be found, as per MSDN.
43 CreateProvider uses the new provider constructor which takes
44 provider options dictionary as its parameter, if found in the
47 * CompilerCollection.cs: compiler defaults are initialized using
48 the provider options dictionary, with one option present -
49 "CompilerVersion" set to "2.0".
50 Two dictionaries to map languages and extensions to compiler
51 information objects added.
53 * CompilerProviderOption.cs: added - implements the
54 <providerOption> element.
56 * CompilerProviderOptionsCollection.cs: added - implements
57 collection for the 2.0sp1 <providerOption> child element of the
58 system.codeDom/compilers/compiler element.
60 2007-03-05 Peter Dettman <peter.dettman@iinet.net.au>
62 * Codegenerator.cs: I noticed an `unreachable code' warning while
65 System.CodeDom.Compiler/CodeGenerator.cs(1229,42): warning CS0162:
66 Unreachable code detected
68 This turned out to be in the method
69 CodeGenerator.IsValidLanguageIndependentIdentifier, which was
72 The following patch contains a unit test to demonstrate the
73 problem (checked against MS.NET), and a fix to CodeGenerator.cs.
75 2007-02-22 Marek Habersack <grendello@gmail.com>
77 * CompilerCollection.cs: be case-insensitive with languages and
78 extensions when looking up the compiler.
80 2007-01-22 Miguel de Icaza <miguel@novell.com>
82 * CodeDomProvider.cs: Prevent Moma from getting confused.
84 2006-11-17 Atsushi Enomoto <atsushi@ximian.com>
86 * TempFileCollection.cs : make it work under non-libc environment.
88 2006-11-16 Marek Habersack <grendello@gmail.com>
90 * Compiler.cs: ConfigurationElement to handle the <compiler>
91 sub-element of the <system.codedom> section
93 * CodeDomConfigurationHandler.cs: Reimplemented as a
94 ConfigurationSection. Made the class internal.
96 * CompilerCollection.cs: Collection of Compiler and CompilerInfo
97 objects. Uses List<CompilerInfo> as we need to be able to store
98 multiple entries for the same language, as .NET does.
100 * CodeDomProvider.cs: Changes to use the new
101 CodeDomConfigurationHandler class.
103 2006-11-07 Marek Habersack <grendello@gmail.com>
105 * CompilerInfo.cs: Implement the CreateDefaultCompilerParameters API.
107 * CodeDomConfigurationHandler.cs: WarningLevel of CompilerInfo
108 should default to -1 if it is absent from the config file, as per
111 2006-11-06 Marek Habersack <grendello@gmail.com>
113 * CodeDomProvider.cs: IsDefinedLanguage should return true if
114 CompilerInfo for the specified language exists.
116 * CodeDomConfigurationHandler.cs: add an instance of CompilerInfo
117 separately for each language name defined in the compiler's
120 2006-09-15 LLuis Sanchez Gual <lluis@novell.com>
122 * TempFileCollection.cs: Create files in a temporary subdirectory,
123 for security reasons.
124 * CodeCompiler.cs: Let TempFileCollection choose the temp dir.
126 2006-05-04 LLuis Sanchez Gual <lluis@novell.com>
128 * TempFileCollection.cs: Make sure generated file names
129 are unique. Fixes bug #76125 and #78230.
131 2006-04-20 Gert Driesen <drieseng@users.sourceforge.net>
133 * CodeGenerator.cs: Output empty line between types if
134 BlankLinesBetweenMembers option is set.
136 2006-03-24 Chris Toshok <toshok@ximian.com>
138 * CompilerInfo.cs (Init): make this internal as well, so
139 CodeDomConfigurationHandler can call it.
141 * CodeDomConfigurationHandler.cs (ReadCompilers): we need to call
142 CompilerInfo.Init after setting CompilerInfo.TypeName.
144 2006-03-11 Miguel de Icaza <miguel@novell.com>
146 * CodeDomConfigurationHandler.cs: Comment out unused methods.
148 * TempFileCollection.cs: Implement explicitly some interface
149 methods to get rid of the "!" errors on CorCompare.
151 2006-02-19 Zoltan Varga <vargaz@gmail.com>
153 * CodeDomProvider.cs: Fix the [ToolboxItem] attribute. Fixes #77513.
155 2005-12-07 Gert Driesen <drieseng@users.sourceforge.net>
157 * CodeGenerator.cs: Modified GeneratePrimitiveExpression to throw
158 ArgumentException for sbyte value, use GenerateSingleFloatValue for
159 float, GenerateDecimalValue for decimal and GenerateDoubleValue for
160 double. Modified exception message for non-primitive types to match
162 * ICodeCompiler.cs: Set eol-style to native.
163 * CodeCompiler.cs: Set eol-style to native.
164 * CodeDomConfigurationHandler.cs: Set eol-style to native.
165 * CodeDomProvider.cs: Set eol-style to native.
166 * CodeGeneratorOptions.cs: Set eol-style to native.
167 * CodeParser.cs: Set eol-style to native.
168 * CompilerError.cs: Set eol-style to native.
169 * CompilerErrorCollection.cs: Set eol-style to native.
170 * CompilerInfo.cs: Set eol-style to native.
171 * CompilerParameters.cs: Set eol-style to native.
172 * CompilerResults.cs: Set eol-style to native.
173 * Executor.cs: Set eol-style to native.
174 * GeneratorSupport.cs: Set eol-style to native.
175 * ICodeGenerator.cs: Set eol-style to native.
176 * ICodeParser.cs: Set eol-style to native.
177 * LanguageOptions.cs: Set eol-style to native.
178 * TempFileCollection.cs: Set eol-style to native.
180 2005-11-30 Gert Driesen <drieseng@users.sourceforge.net>
182 * CodeGenerator.cs: Corrected line endings. Set eol-style to native.
183 * IndentedTextWriter.cs: Indent can no longer become negative.
185 2005-11-04 Sebastien Pouliot <sebastien@ximian.com>
187 * CodeCompiler.cs: Compile now use the Executor class (instead of the
188 Process class). Fixed JoinStringArray.
189 * CompilerResults.cs: Load assembly only when the property is called.
191 2005-11-02 Sebastien Pouliot <sebastien@ximian.com>
193 * Executor.cs: Reworked (for permissions) and fixed ExitCode (must be
194 called before Close).
196 2005-11-01 Sebastien Pouliot <sebastien@ximian.com>
198 * CodeGenerator.cs: Added/stubbed missing 2.0 stuff.
200 2005-11-01 Sebastien Pouliot <sebastien@ximian.com>
202 CodeDomProvider.cs: Added missing 2.0 methods. Added CAS permissions.
203 Added protection against NullReferenceException when no config is
206 2005-10-29 Sebastien Pouliot <sebastien@ximian.com>
208 CodeDomProvider.cs: Stubbed a few 2.0 methods to fix API errors in
211 2005-10-25 Sebastien Pouliot <sebastien@ximian.com>
213 * CompilerError.cs: Added LinkDemand for Unrestricted before 2.0.
214 * CompilerErrorCollection.cs: Added LinkDemand for Unrestricted before
217 2005-10-25 Sebastien Pouliot <sebastien@ximian.com>
219 * CodeGenerator.cs: Fixed OutputAttributeArgument not to assume the
220 default value is null (it's String.Empty).
222 2005-10-25 Sebastien Pouliot <sebastien@ximian.com>
224 * CompilerParameters.cs: Added [ComVisible(false)] on the new (2.0)
225 EmbeddedResources and LinkedResources properties.
226 * TempFileCollection.cs: Changed BasePath property to use Path.
227 GetTempPath (Environment check) and added the PathDiscovery check on
228 the combined result. Fixed TempDir so it's value never change (i.e.
229 imply that it doesn't need any permissions). Fixed SyncRoot to always
232 2005-10-24 Sebastien Pouliot <sebastien@ximian.com>
234 * CodeGeneratorOptions.cs: Fixed how properties are kept inside the
235 IDictionary (which is just like System.Web.dll).
236 * CompilerError.cs: Added [Serializable] attribute for 2.0.
237 * CompilerInfo.cs: Added LinkDemand for Unrestricted. Stubbed new
238 (2.0) CreateDefaultCompilerParameters method.
239 * CompilerParameters.cs: Added LinkDemand and InheritanceDemand for
240 Unrestricted. Added Demand for ControlEvidence to Evidence property.
241 Added new (2.0) EmbeddedResources and LinkedResources properties.
242 * CompilerResults.cs: Added LinkDemand and InheritanceDemand for
243 Unrestricted. Added Demand for ControlEvidence to Evidence property.
244 * Executor.cs: Added LinkDemand for Unrestricted. Added support for
245 userToken (impersonation).
246 * GeneratedCodeAttribute.cs: New. 2.0 attribute for code generated by
248 * IndentedTextWriter.cs: Added LinkDemand and InheritanceDemand for
251 2005-10-04 Sebastien Pouliot <sebastien@ximian.com>
253 * TempFileCollection.cs: Added a call to GC.SuppressFinalize in
256 2005-07-30 Gert Driesen <drieseng@users.sourceforge.net>
258 * CodeGenerator.cs: In OutputMemberScopeModifier, only output
259 "new" modifier in 2.0 profile.
261 2005-07-24 Gert Driesen <drieseng@users.sourceforge.net>
263 * CodeGenerator.cs: Threat delegates like any other type.
265 2005-07-21 Gert Driesen <drieseng@users.sourceforge.net>
267 * CodeGenerator.cs: Fixed IsCurrentClass to return false for delegate.
269 2005-06-28 Gert Driesen <drieseng@users.sourceforge.net>
271 * CodeGenerator.cs: On 2.0 profile, internal members are also marked
272 virtual. Fixed access modifier for FamilyAndAssembly to match
275 2005-06-25 Gert Driesen <drieseng@users.sourceforge.net>
277 * CodeGenerator.cs: Fixed bug #75190, GenerateCodeFromCompileUnit
278 generates no code for CodeSnippetCompileUnit.
280 2005-06-04 Gert Driesen <drieseng@users.sourceforge.net>
282 * IndentedTextWriter.cs: also output tabs in WriteLine () to
285 2005-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
287 * CodeDomProvider.cs: implemented IsDefined* and GetCompilerInfo.
288 * CompilerInfo.cs: implemented.
289 * CodeDomConfigurationHandler.cs: system.codedom section reader.
291 2005-01-27 LLuis Sanchez Gual <lluis@novell.com>
293 * CodeGenerator.cs: Write 'f' suffix for float constants.
295 2004-09-06 Marek Safar <marek.safar@seznam.cz>
298 * GeneratorSupport.cs : Implemented NET_2_0 extension
300 * CompilerInfo.cs : New NET_2_0 file.
302 2004-09-01 Marek Safar <marek.safar@seznam.cz>
304 * CodeGenerator.cs : Added newline after global attributes output.
305 (OutputAttributeDeclaration): Replace '+' with '.' for nested
308 2004-08-09 Atsushi Enomoto <atsushi@ximian.com>
311 Don't initialize output more than once. TextWriter is wrapped twice.
313 2004-07-15 Peter Williams <peter@newton.cx>
315 * CodeGenerator.cs: Have the basic generator create line pragmas
316 for NamespaceImports, SnippetCompileUnits, and TypeMembers, all of
317 which had LinePragma members which were going unused.
319 2004-06-17 Jackson Harper <jackson@ximian.com>
322 * CodeGenerator.cs: Make sure we are using invariant for non
323 culture sensitive operations.
325 2004-06-13 Gert Driesen <drieseng@users.sourceforge.net>
327 * IndentedTextWriter.cs: have DefaultTabString correspond with
328 MS.NET (meaning four spaces)
330 2004-05-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
332 * TempFileCollection.cs: don't create a Random object on every call to
335 2004-04-26 Atsushi Enomoto <atsushi@ximian.com>
337 * CodeGenerator.cs : delegate was output as usual class.
339 2004-03-29 Lluis Sanchez Gual <lluis@ximian.com>
341 * Executor.cs: Implemented.
343 2004-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
345 * TempFileCollection.cs: fixed typo in Delete. Closes bug #54443.
347 2004-02-10 Jackson Harper <jackson@ximian.com>
349 * CompilerParameters.cs: TempFiles should never return null.
351 2004-02-04 Jackson Harper <jackson@ximian.com>
353 * CodeGenerator.cs (GenerateExpression): Don't allow null
354 expressions. Throw ArgumentException if the expression type is not
356 * CodeGenerator.cs (GenerateStatement): Add line pragmas if they
357 are set. Throw ArgumentException if the expression type is not handled.
359 2003-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
361 * TempFileCollection.cs: fixed temp path in BaseDir.
363 2003-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
365 * CodeGenerator.cs: fixed assembly level attribute generation.
367 2003-08-08 Lluis Sanchez Gual <lluis@ximian.com>
369 * CodeGenerator.cs: When sorting the members of a type, keep the
370 relative order of the members of the same kind.
372 2003-08-05 Lluis Sanchez Gual <lluis@ximian.com>
374 * CodeGenerator.cs: Generate comments for properties and fields.
375 Write a line separator between type declarations.
377 2003-07-10 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
379 * Executor.cs: Changed abstract to sealed
381 2003-07-07 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
383 * CodeDomProvider.cs: Removed unneccesary attribute according to corecompare
384 * Executor.cs: Fixed signature with ref calls according to corecompare and made neccessary changes
386 2003-06-20 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
388 * CodeCompiler.cs: Nearly completely implemented
389 * CodeDomProvider.cs: Added missing Attribute, restyled according to style guidelines
390 * CodeGenerator.cs: Fixed visibilies, added missing members, implemented members, stubbed out missing member, restyled according to style guidelines
391 * CodeParser.cs: Added and implemented (ok no real implementation needed ;)
392 * CompilerErrorCollection.cs: Removed unneeded MonoTODOs, restyled according to style guidelines
393 * CompilerParameters.cs: Fixed wrong properties, Added Initializers, restyled according to style guidelines
394 * CompilerResults.cs: Added Evidence property, added initial values
395 * Executor.cs: Added and partially implemented (should probably be used by CodeCompiler)
397 * CompilerOptions.cs: Deleted this file (such a class does not exist)
399 2003-05-16 Dick Porter <dick@ximian.com>
401 * TempFileCollection.cs: Implement
403 2003-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
406 (GenerateSnippetStatement): use WriteLine instead of Write.
408 2003-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
411 (GenerateCodePrimitive): special case strings and chars (bool was
412 already a special case). Throw an exception if the type is not a
415 2003-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
417 * CodeGenerator.cs: more fixes and sorted the output.
419 * IndentedTextWriter.cs: don't output tabs in WriteLine ().
421 2003-04-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
424 (GenerateCompileUnitStart):
425 (GenerateCompileUnitEnd): removed debug output.
426 (GeneratePrimitiveExpression): handle null and bool as special cases.
427 (GenerateType): added type constructor and constructor calls.
429 2003-02-20 Alfonso Ali <isa@infomed.sld.cu>
431 * CodeGenerator.cs: Generates the entry point method.
433 2003-01-10 Duncan Mak <duncan@ximian.com>
435 * CompilerErrorCollection.cs:
436 * CompilerParameters.cs: Patch from Sean Kasun
437 <skasun@azstarnet.com> implementing most of the MonoTODOs in
438 CompilerErrorCollection and the CompilerParameters overloads in CompilerParameters.cs.
440 2002-11-30 Jackson Harper <jackson@latitudegeo.com>
442 * CodeCompiler.cs: Removed TODO attribute from abstract members
444 2002-11-30 Jackson Harper <jackson@latitudegeo.com>
446 * CodeCompiler.cs: Added stub
448 2002-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
450 * CodeDomProvider.cs:
451 * IndentedTextWriter.cs: misc. fixes.
453 2002-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
455 * CompilerError.cs: implemented.
456 * CompilerErrorCollection.cs: stubbed out and fix inheritance.
457 * GeneratorSupport.cs: fixed values.
459 2002-05-28 Daniel Stodden <stodden@in.tum.de>
461 * CodeDomProvider.cs: added, incomplete
463 * CodeGeneratorOptions.cs: added, complete
465 * CompilerErrorCollection.cs: added, stub
467 * CompilerOptions.cs: added, stub
469 * CompilerResults.cs: added, complete
471 * GeneratorSupport.cs: added, complete
473 * ICodeCompiler.cs: added, complete
475 * ICodeParser.cs: added, complete
477 * IndentedTextWriter.cs: added, complete
479 * LanguageOptions.cs: added, complete
481 * TempFileCollection.cs: added, stub
483 * ICodeGenerator.cs: added, complete
485 2002-01-05 Ravi Pratap <ravi@ximian.com>
487 * CodeGenerator.cs : Mark bits with MonoTODO.
489 2001-07-15 Sean MacIsaac <macisaac@ximian.com>
491 * CodeGenerator.cs: moved using statement out of namespace