1 2007-03-05 Peter Dettman <peter.dettman@iinet.net.au>
3 * Codegenerator.cs: I noticed an `unreachable code' warning while
6 System.CodeDom.Compiler/CodeGenerator.cs(1229,42): warning CS0162:
7 Unreachable code detected
9 This turned out to be in the method
10 CodeGenerator.IsValidLanguageIndependentIdentifier, which was
13 The following patch contains a unit test to demonstrate the
14 problem (checked against MS.NET), and a fix to CodeGenerator.cs.
16 2007-02-22 Marek Habersack <grendello@gmail.com>
18 * CompilerCollection.cs: be case-insensitive with languages and
19 extensions when looking up the compiler.
21 2007-01-22 Miguel de Icaza <miguel@novell.com>
23 * CodeDomProvider.cs: Prevent Moma from getting confused.
25 2006-11-17 Atsushi Enomoto <atsushi@ximian.com>
27 * TempFileCollection.cs : make it work under non-libc environment.
29 2006-11-16 Marek Habersack <grendello@gmail.com>
31 * Compiler.cs: ConfigurationElement to handle the <compiler>
32 sub-element of the <system.codedom> section
34 * CodeDomConfigurationHandler.cs: Reimplemented as a
35 ConfigurationSection. Made the class internal.
37 * CompilerCollection.cs: Collection of Compiler and CompilerInfo
38 objects. Uses List<CompilerInfo> as we need to be able to store
39 multiple entries for the same language, as .NET does.
41 * CodeDomProvider.cs: Changes to use the new
42 CodeDomConfigurationHandler class.
44 2006-11-07 Marek Habersack <grendello@gmail.com>
46 * CompilerInfo.cs: Implement the CreateDefaultCompilerParameters API.
48 * CodeDomConfigurationHandler.cs: WarningLevel of CompilerInfo
49 should default to -1 if it is absent from the config file, as per
52 2006-11-06 Marek Habersack <grendello@gmail.com>
54 * CodeDomProvider.cs: IsDefinedLanguage should return true if
55 CompilerInfo for the specified language exists.
57 * CodeDomConfigurationHandler.cs: add an instance of CompilerInfo
58 separately for each language name defined in the compiler's
61 2006-09-15 LLuis Sanchez Gual <lluis@novell.com>
63 * TempFileCollection.cs: Create files in a temporary subdirectory,
65 * CodeCompiler.cs: Let TempFileCollection choose the temp dir.
67 2006-05-04 LLuis Sanchez Gual <lluis@novell.com>
69 * TempFileCollection.cs: Make sure generated file names
70 are unique. Fixes bug #76125 and #78230.
72 2006-04-20 Gert Driesen <drieseng@users.sourceforge.net>
74 * CodeGenerator.cs: Output empty line between types if
75 BlankLinesBetweenMembers option is set.
77 2006-03-24 Chris Toshok <toshok@ximian.com>
79 * CompilerInfo.cs (Init): make this internal as well, so
80 CodeDomConfigurationHandler can call it.
82 * CodeDomConfigurationHandler.cs (ReadCompilers): we need to call
83 CompilerInfo.Init after setting CompilerInfo.TypeName.
85 2006-03-11 Miguel de Icaza <miguel@novell.com>
87 * CodeDomConfigurationHandler.cs: Comment out unused methods.
89 * TempFileCollection.cs: Implement explicitly some interface
90 methods to get rid of the "!" errors on CorCompare.
92 2006-02-19 Zoltan Varga <vargaz@gmail.com>
94 * CodeDomProvider.cs: Fix the [ToolboxItem] attribute. Fixes #77513.
96 2005-12-07 Gert Driesen <drieseng@users.sourceforge.net>
98 * CodeGenerator.cs: Modified GeneratePrimitiveExpression to throw
99 ArgumentException for sbyte value, use GenerateSingleFloatValue for
100 float, GenerateDecimalValue for decimal and GenerateDoubleValue for
101 double. Modified exception message for non-primitive types to match
103 * ICodeCompiler.cs: Set eol-style to native.
104 * CodeCompiler.cs: Set eol-style to native.
105 * CodeDomConfigurationHandler.cs: Set eol-style to native.
106 * CodeDomProvider.cs: Set eol-style to native.
107 * CodeGeneratorOptions.cs: Set eol-style to native.
108 * CodeParser.cs: Set eol-style to native.
109 * CompilerError.cs: Set eol-style to native.
110 * CompilerErrorCollection.cs: Set eol-style to native.
111 * CompilerInfo.cs: Set eol-style to native.
112 * CompilerParameters.cs: Set eol-style to native.
113 * CompilerResults.cs: Set eol-style to native.
114 * Executor.cs: Set eol-style to native.
115 * GeneratorSupport.cs: Set eol-style to native.
116 * ICodeGenerator.cs: Set eol-style to native.
117 * ICodeParser.cs: Set eol-style to native.
118 * LanguageOptions.cs: Set eol-style to native.
119 * TempFileCollection.cs: Set eol-style to native.
121 2005-11-30 Gert Driesen <drieseng@users.sourceforge.net>
123 * CodeGenerator.cs: Corrected line endings. Set eol-style to native.
124 * IndentedTextWriter.cs: Indent can no longer become negative.
126 2005-11-04 Sebastien Pouliot <sebastien@ximian.com>
128 * CodeCompiler.cs: Compile now use the Executor class (instead of the
129 Process class). Fixed JoinStringArray.
130 * CompilerResults.cs: Load assembly only when the property is called.
132 2005-11-02 Sebastien Pouliot <sebastien@ximian.com>
134 * Executor.cs: Reworked (for permissions) and fixed ExitCode (must be
135 called before Close).
137 2005-11-01 Sebastien Pouliot <sebastien@ximian.com>
139 * CodeGenerator.cs: Added/stubbed missing 2.0 stuff.
141 2005-11-01 Sebastien Pouliot <sebastien@ximian.com>
143 CodeDomProvider.cs: Added missing 2.0 methods. Added CAS permissions.
144 Added protection against NullReferenceException when no config is
147 2005-10-29 Sebastien Pouliot <sebastien@ximian.com>
149 CodeDomProvider.cs: Stubbed a few 2.0 methods to fix API errors in
152 2005-10-25 Sebastien Pouliot <sebastien@ximian.com>
154 * CompilerError.cs: Added LinkDemand for Unrestricted before 2.0.
155 * CompilerErrorCollection.cs: Added LinkDemand for Unrestricted before
158 2005-10-25 Sebastien Pouliot <sebastien@ximian.com>
160 * CodeGenerator.cs: Fixed OutputAttributeArgument not to assume the
161 default value is null (it's String.Empty).
163 2005-10-25 Sebastien Pouliot <sebastien@ximian.com>
165 * CompilerParameters.cs: Added [ComVisible(false)] on the new (2.0)
166 EmbeddedResources and LinkedResources properties.
167 * TempFileCollection.cs: Changed BasePath property to use Path.
168 GetTempPath (Environment check) and added the PathDiscovery check on
169 the combined result. Fixed TempDir so it's value never change (i.e.
170 imply that it doesn't need any permissions). Fixed SyncRoot to always
173 2005-10-24 Sebastien Pouliot <sebastien@ximian.com>
175 * CodeGeneratorOptions.cs: Fixed how properties are kept inside the
176 IDictionary (which is just like System.Web.dll).
177 * CompilerError.cs: Added [Serializable] attribute for 2.0.
178 * CompilerInfo.cs: Added LinkDemand for Unrestricted. Stubbed new
179 (2.0) CreateDefaultCompilerParameters method.
180 * CompilerParameters.cs: Added LinkDemand and InheritanceDemand for
181 Unrestricted. Added Demand for ControlEvidence to Evidence property.
182 Added new (2.0) EmbeddedResources and LinkedResources properties.
183 * CompilerResults.cs: Added LinkDemand and InheritanceDemand for
184 Unrestricted. Added Demand for ControlEvidence to Evidence property.
185 * Executor.cs: Added LinkDemand for Unrestricted. Added support for
186 userToken (impersonation).
187 * GeneratedCodeAttribute.cs: New. 2.0 attribute for code generated by
189 * IndentedTextWriter.cs: Added LinkDemand and InheritanceDemand for
192 2005-10-04 Sebastien Pouliot <sebastien@ximian.com>
194 * TempFileCollection.cs: Added a call to GC.SuppressFinalize in
197 2005-07-30 Gert Driesen <drieseng@users.sourceforge.net>
199 * CodeGenerator.cs: In OutputMemberScopeModifier, only output
200 "new" modifier in 2.0 profile.
202 2005-07-24 Gert Driesen <drieseng@users.sourceforge.net>
204 * CodeGenerator.cs: Threat delegates like any other type.
206 2005-07-21 Gert Driesen <drieseng@users.sourceforge.net>
208 * CodeGenerator.cs: Fixed IsCurrentClass to return false for delegate.
210 2005-06-28 Gert Driesen <drieseng@users.sourceforge.net>
212 * CodeGenerator.cs: On 2.0 profile, internal members are also marked
213 virtual. Fixed access modifier for FamilyAndAssembly to match
216 2005-06-25 Gert Driesen <drieseng@users.sourceforge.net>
218 * CodeGenerator.cs: Fixed bug #75190, GenerateCodeFromCompileUnit
219 generates no code for CodeSnippetCompileUnit.
221 2005-06-04 Gert Driesen <drieseng@users.sourceforge.net>
223 * IndentedTextWriter.cs: also output tabs in WriteLine () to
226 2005-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
228 * CodeDomProvider.cs: implemented IsDefined* and GetCompilerInfo.
229 * CompilerInfo.cs: implemented.
230 * CodeDomConfigurationHandler.cs: system.codedom section reader.
232 2005-01-27 LLuis Sanchez Gual <lluis@novell.com>
234 * CodeGenerator.cs: Write 'f' suffix for float constants.
236 2004-09-06 Marek Safar <marek.safar@seznam.cz>
239 * GeneratorSupport.cs : Implemented NET_2_0 extension
241 * CompilerInfo.cs : New NET_2_0 file.
243 2004-09-01 Marek Safar <marek.safar@seznam.cz>
245 * CodeGenerator.cs : Added newline after global attributes output.
246 (OutputAttributeDeclaration): Replace '+' with '.' for nested
249 2004-08-09 Atsushi Enomoto <atsushi@ximian.com>
252 Don't initialize output more than once. TextWriter is wrapped twice.
254 2004-07-15 Peter Williams <peter@newton.cx>
256 * CodeGenerator.cs: Have the basic generator create line pragmas
257 for NamespaceImports, SnippetCompileUnits, and TypeMembers, all of
258 which had LinePragma members which were going unused.
260 2004-06-17 Jackson Harper <jackson@ximian.com>
263 * CodeGenerator.cs: Make sure we are using invariant for non
264 culture sensitive operations.
266 2004-06-13 Gert Driesen <drieseng@users.sourceforge.net>
268 * IndentedTextWriter.cs: have DefaultTabString correspond with
269 MS.NET (meaning four spaces)
271 2004-05-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
273 * TempFileCollection.cs: don't create a Random object on every call to
276 2004-04-26 Atsushi Enomoto <atsushi@ximian.com>
278 * CodeGenerator.cs : delegate was output as usual class.
280 2004-03-29 Lluis Sanchez Gual <lluis@ximian.com>
282 * Executor.cs: Implemented.
284 2004-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
286 * TempFileCollection.cs: fixed typo in Delete. Closes bug #54443.
288 2004-02-10 Jackson Harper <jackson@ximian.com>
290 * CompilerParameters.cs: TempFiles should never return null.
292 2004-02-04 Jackson Harper <jackson@ximian.com>
294 * CodeGenerator.cs (GenerateExpression): Don't allow null
295 expressions. Throw ArgumentException if the expression type is not
297 * CodeGenerator.cs (GenerateStatement): Add line pragmas if they
298 are set. Throw ArgumentException if the expression type is not handled.
300 2003-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
302 * TempFileCollection.cs: fixed temp path in BaseDir.
304 2003-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
306 * CodeGenerator.cs: fixed assembly level attribute generation.
308 2003-08-08 Lluis Sanchez Gual <lluis@ximian.com>
310 * CodeGenerator.cs: When sorting the members of a type, keep the
311 relative order of the members of the same kind.
313 2003-08-05 Lluis Sanchez Gual <lluis@ximian.com>
315 * CodeGenerator.cs: Generate comments for properties and fields.
316 Write a line separator between type declarations.
318 2003-07-10 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
320 * Executor.cs: Changed abstract to sealed
322 2003-07-07 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
324 * CodeDomProvider.cs: Removed unneccesary attribute according to corecompare
325 * Executor.cs: Fixed signature with ref calls according to corecompare and made neccessary changes
327 2003-06-20 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
329 * CodeCompiler.cs: Nearly completely implemented
330 * CodeDomProvider.cs: Added missing Attribute, restyled according to style guidelines
331 * CodeGenerator.cs: Fixed visibilies, added missing members, implemented members, stubbed out missing member, restyled according to style guidelines
332 * CodeParser.cs: Added and implemented (ok no real implementation needed ;)
333 * CompilerErrorCollection.cs: Removed unneeded MonoTODOs, restyled according to style guidelines
334 * CompilerParameters.cs: Fixed wrong properties, Added Initializers, restyled according to style guidelines
335 * CompilerResults.cs: Added Evidence property, added initial values
336 * Executor.cs: Added and partially implemented (should probably be used by CodeCompiler)
338 * CompilerOptions.cs: Deleted this file (such a class does not exist)
340 2003-05-16 Dick Porter <dick@ximian.com>
342 * TempFileCollection.cs: Implement
344 2003-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
347 (GenerateSnippetStatement): use WriteLine instead of Write.
349 2003-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
352 (GenerateCodePrimitive): special case strings and chars (bool was
353 already a special case). Throw an exception if the type is not a
356 2003-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
358 * CodeGenerator.cs: more fixes and sorted the output.
360 * IndentedTextWriter.cs: don't output tabs in WriteLine ().
362 2003-04-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
365 (GenerateCompileUnitStart):
366 (GenerateCompileUnitEnd): removed debug output.
367 (GeneratePrimitiveExpression): handle null and bool as special cases.
368 (GenerateType): added type constructor and constructor calls.
370 2003-02-20 Alfonso Ali <isa@infomed.sld.cu>
372 * CodeGenerator.cs: Generates the entry point method.
374 2003-01-10 Duncan Mak <duncan@ximian.com>
376 * CompilerErrorCollection.cs:
377 * CompilerParameters.cs: Patch from Sean Kasun
378 <skasun@azstarnet.com> implementing most of the MonoTODOs in
379 CompilerErrorCollection and the CompilerParameters overloads in CompilerParameters.cs.
381 2002-11-30 Jackson Harper <jackson@latitudegeo.com>
383 * CodeCompiler.cs: Removed TODO attribute from abstract members
385 2002-11-30 Jackson Harper <jackson@latitudegeo.com>
387 * CodeCompiler.cs: Added stub
389 2002-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
391 * CodeDomProvider.cs:
392 * IndentedTextWriter.cs: misc. fixes.
394 2002-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
396 * CompilerError.cs: implemented.
397 * CompilerErrorCollection.cs: stubbed out and fix inheritance.
398 * GeneratorSupport.cs: fixed values.
400 2002-05-28 Daniel Stodden <stodden@in.tum.de>
402 * CodeDomProvider.cs: added, incomplete
404 * CodeGeneratorOptions.cs: added, complete
406 * CompilerErrorCollection.cs: added, stub
408 * CompilerOptions.cs: added, stub
410 * CompilerResults.cs: added, complete
412 * GeneratorSupport.cs: added, complete
414 * ICodeCompiler.cs: added, complete
416 * ICodeParser.cs: added, complete
418 * IndentedTextWriter.cs: added, complete
420 * LanguageOptions.cs: added, complete
422 * TempFileCollection.cs: added, stub
424 * ICodeGenerator.cs: added, complete
426 2002-01-05 Ravi Pratap <ravi@ximian.com>
428 * CodeGenerator.cs : Mark bits with MonoTODO.
430 2001-07-15 Sean MacIsaac <macisaac@ximian.com>
432 * CodeGenerator.cs: moved using statement out of namespace