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