2008-10-09 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System / System.CodeDom.Compiler / ChangeLog
1 2008-10-09  Marek Habersack  <mhabersack@novell.com>
2
3         * CompilerCollection.cs: use all the compiler information from
4         config file when adding new CompilerInfo. Fixes bug #433802
5
6 2008-02-26  Marek Habersack  <mhabersack@novell.com>
7
8         * CompilerResults.cs: Output can be set internally.
9
10 2008-02-10  Juraj Skripsky  <js@hotfeet.ch>
11
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
16         on TypeCode. 
17
18 2008-01-27  Gert Driesen  <drieseng@users.sourceforge.net>
19
20         * CodeGenerator.cs: Fixed ArgumentException argument names. Indent
21         expression list.
22
23 2007-12-15  Marek Habersack  <mhabersack@novell.com>
24
25         * Compiler.cs: added support for the default collection of
26         <providerOption> child elements and corresponding public
27         properties (ProviderOptions and ProviderOptionsDictionary).
28
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
36         provider type.
37
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.
43
44         * CompilerProviderOption.cs: added - implements the
45         <providerOption> element.
46
47         * CompilerProviderOptionsCollection.cs: added - implements
48         collection for the 2.0sp1 <providerOption> child element of the
49         system.codeDom/compilers/compiler element.
50
51 2007-03-05  Peter Dettman <peter.dettman@iinet.net.au>
52
53         * Codegenerator.cs: I noticed an `unreachable code' warning while
54         building Mono:
55
56         System.CodeDom.Compiler/CodeGenerator.cs(1229,42): warning CS0162:
57         Unreachable code detected
58
59         This turned out to be in the method
60         CodeGenerator.IsValidLanguageIndependentIdentifier, which was
61         broken.
62
63         The following patch contains a unit test to demonstrate the
64         problem (checked against MS.NET), and a fix to CodeGenerator.cs.
65
66 2007-02-22  Marek Habersack  <grendello@gmail.com>
67
68         * CompilerCollection.cs: be case-insensitive with languages and
69         extensions when looking up the compiler.
70
71 2007-01-22  Miguel de Icaza  <miguel@novell.com>
72
73         * CodeDomProvider.cs: Prevent Moma from getting confused.
74
75 2006-11-17  Atsushi Enomoto  <atsushi@ximian.com>
76
77         * TempFileCollection.cs : make it work under non-libc environment.
78
79 2006-11-16  Marek Habersack  <grendello@gmail.com>
80
81         * Compiler.cs: ConfigurationElement to handle the <compiler>
82         sub-element of the <system.codedom> section
83
84         * CodeDomConfigurationHandler.cs: Reimplemented as a
85         ConfigurationSection. Made the class internal.
86
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.
90
91         * CodeDomProvider.cs: Changes to use the new
92         CodeDomConfigurationHandler class.
93
94 2006-11-07  Marek Habersack  <grendello@gmail.com>
95
96         * CompilerInfo.cs: Implement the CreateDefaultCompilerParameters API.
97
98         * CodeDomConfigurationHandler.cs: WarningLevel of CompilerInfo
99         should default to -1 if it is absent from the config file, as per
100         MSDN.
101
102 2006-11-06  Marek Habersack  <grendello@gmail.com>
103
104         * CodeDomProvider.cs: IsDefinedLanguage should return true if
105         CompilerInfo for the specified language exists.
106
107         * CodeDomConfigurationHandler.cs: add an instance of CompilerInfo
108         separately for each language name defined in the compiler's
109         definition.
110
111 2006-09-15  LLuis Sanchez Gual  <lluis@novell.com>
112
113         * TempFileCollection.cs: Create files in a temporary subdirectory,
114         for security reasons.
115         * CodeCompiler.cs: Let TempFileCollection choose the temp dir.
116
117 2006-05-04  LLuis Sanchez Gual  <lluis@novell.com>
118
119         * TempFileCollection.cs: Make sure generated file names
120           are unique. Fixes bug #76125 and #78230.
121
122 2006-04-20  Gert Driesen  <drieseng@users.sourceforge.net>
123
124         * CodeGenerator.cs: Output empty line between types if 
125         BlankLinesBetweenMembers option is set.
126
127 2006-03-24  Chris Toshok  <toshok@ximian.com>
128
129         * CompilerInfo.cs (Init): make this internal as well, so
130         CodeDomConfigurationHandler can call it.
131
132         * CodeDomConfigurationHandler.cs (ReadCompilers): we need to call
133         CompilerInfo.Init after setting CompilerInfo.TypeName.
134
135 2006-03-11  Miguel de Icaza  <miguel@novell.com>
136
137         * CodeDomConfigurationHandler.cs: Comment out unused methods. 
138
139         * TempFileCollection.cs: Implement explicitly some interface
140         methods to get rid of the "!" errors on CorCompare.
141
142 2006-02-19  Zoltan Varga  <vargaz@gmail.com>
143
144         * CodeDomProvider.cs: Fix the [ToolboxItem] attribute. Fixes #77513.
145
146 2005-12-07  Gert Driesen  <drieseng@users.sourceforge.net>
147
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
152         MS.NET.
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.
170
171 2005-11-30  Gert Driesen  <drieseng@users.sourceforge.net>
172
173         * CodeGenerator.cs: Corrected line endings. Set eol-style to native.
174         * IndentedTextWriter.cs: Indent can no longer become negative.
175
176 2005-11-04  Sebastien Pouliot  <sebastien@ximian.com> 
177
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.
181
182 2005-11-02  Sebastien Pouliot  <sebastien@ximian.com> 
183
184         * Executor.cs: Reworked (for permissions) and fixed ExitCode (must be 
185         called before Close).
186
187 2005-11-01  Sebastien Pouliot  <sebastien@ximian.com> 
188  
189         * CodeGenerator.cs: Added/stubbed missing 2.0 stuff.
190
191 2005-11-01  Sebastien Pouliot  <sebastien@ximian.com>
192
193         CodeDomProvider.cs: Added missing 2.0 methods. Added CAS permissions.
194         Added protection against NullReferenceException when no config is
195         available.
196
197 2005-10-29  Sebastien Pouliot  <sebastien@ximian.com>
198
199         CodeDomProvider.cs: Stubbed a few 2.0 methods to fix API errors in 
200         derived classes.
201
202 2005-10-25  Sebastien Pouliot  <sebastien@ximian.com>
203
204         * CompilerError.cs: Added LinkDemand for Unrestricted before 2.0.
205         * CompilerErrorCollection.cs: Added LinkDemand for Unrestricted before
206         2.0.
207
208 2005-10-25  Sebastien Pouliot  <sebastien@ximian.com> 
209  
210         * CodeGenerator.cs: Fixed OutputAttributeArgument not to assume the
211         default value is null (it's String.Empty).
212
213 2005-10-25  Sebastien Pouliot  <sebastien@ximian.com>
214
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 
221         return null.
222
223 2005-10-24  Sebastien Pouliot  <sebastien@ximian.com>
224
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 
238         tools.
239         * IndentedTextWriter.cs: Added LinkDemand and InheritanceDemand for 
240         Unrestricted.
241
242 2005-10-04  Sebastien Pouliot  <sebastien@ximian.com>
243
244         * TempFileCollection.cs: Added a call to GC.SuppressFinalize in 
245         Dispose.
246
247 2005-07-30 Gert Driesen <drieseng@users.sourceforge.net>
248
249         * CodeGenerator.cs: In OutputMemberScopeModifier, only output 
250         "new" modifier in 2.0 profile.
251
252 2005-07-24 Gert Driesen <drieseng@users.sourceforge.net>
253
254         * CodeGenerator.cs: Threat delegates like any other type.
255
256 2005-07-21 Gert Driesen <drieseng@users.sourceforge.net>
257
258         * CodeGenerator.cs: Fixed IsCurrentClass to return false for delegate.
259
260 2005-06-28 Gert Driesen <drieseng@users.sourceforge.net>
261
262         * CodeGenerator.cs: On 2.0 profile, internal members are also marked
263         virtual. Fixed access modifier for FamilyAndAssembly to match
264         MS.NET.
265
266 2005-06-25 Gert Driesen <drieseng@users.sourceforge.net>
267
268         * CodeGenerator.cs: Fixed bug #75190, GenerateCodeFromCompileUnit
269         generates no code for CodeSnippetCompileUnit.
270
271 2005-06-04 Gert Driesen <drieseng@users.sourceforge.net>
272
273         * IndentedTextWriter.cs: also output tabs in WriteLine () to
274         match MS.NET
275
276 2005-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
277
278         * CodeDomProvider.cs: implemented IsDefined* and GetCompilerInfo.
279         * CompilerInfo.cs: implemented.
280         * CodeDomConfigurationHandler.cs: system.codedom section reader.
281
282 2005-01-27  LLuis Sanchez Gual  <lluis@novell.com>
283
284         * CodeGenerator.cs: Write 'f' suffix for float constants.
285
286 2004-09-06  Marek Safar  <marek.safar@seznam.cz>
287
288         * CodeGenerator.cs,
289         * GeneratorSupport.cs : Implemented NET_2_0 extension
290         
291         * CompilerInfo.cs : New NET_2_0 file.
292
293 2004-09-01  Marek Safar  <marek.safar@seznam.cz>
294
295         * CodeGenerator.cs : Added newline after global attributes output.
296         (OutputAttributeDeclaration): Replace '+' with '.' for nested
297         attribute types.
298
299 2004-08-09  Atsushi Enomoto  <atsushi@ximian.com>
300
301         * CodeGenerator.cs :
302           Don't initialize output more than once. TextWriter is wrapped twice.
303
304 2004-07-15  Peter Williams  <peter@newton.cx>
305
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.
309
310 2004-06-17  Jackson Harper  <jackson@ximian.com>
311
312         * CompilerError.cs:
313         * CodeGenerator.cs: Make sure we are using invariant for non
314         culture sensitive operations.
315         
316 2004-06-13  Gert Driesen <drieseng@users.sourceforge.net>
317
318         * IndentedTextWriter.cs: have DefaultTabString correspond with
319         MS.NET (meaning four spaces)
320
321 2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
322
323         * TempFileCollection.cs: don't create a Random object on every call to
324         BasePath.
325
326 2004-04-26  Atsushi Enomoto  <atsushi@ximian.com>
327
328         * CodeGenerator.cs : delegate was output as usual class.
329
330 2004-03-29  Lluis Sanchez Gual  <lluis@ximian.com>
331
332         * Executor.cs: Implemented.
333
334 2004-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
335
336         * TempFileCollection.cs: fixed typo in Delete. Closes bug #54443.
337
338 2004-02-10  Jackson Harper <jackson@ximian.com>
339
340         * CompilerParameters.cs: TempFiles should never return null.
341         
342 2004-02-04  Jackson Harper <jackson@ximian.com>
343
344         * CodeGenerator.cs (GenerateExpression): Don't allow null
345         expressions. Throw ArgumentException if the expression type is not
346         handled.
347         * CodeGenerator.cs (GenerateStatement): Add line pragmas if they
348         are set. Throw ArgumentException if the expression type is not handled.
349         
350 2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
351
352         * TempFileCollection.cs: fixed temp path in BaseDir.
353
354 2003-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
355
356         * CodeGenerator.cs: fixed assembly level attribute generation.
357
358 2003-08-08  Lluis Sanchez Gual  <lluis@ximian.com>
359
360         * CodeGenerator.cs: When sorting the members of a type, keep the
361         relative order of the members of the same kind.
362
363 2003-08-05  Lluis Sanchez Gual  <lluis@ximian.com>
364
365         * CodeGenerator.cs: Generate comments for properties and fields.
366           Write a line separator between type declarations.
367
368 2003-07-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
369
370         * Executor.cs: Changed abstract to sealed
371
372 2003-07-07  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
373
374         * CodeDomProvider.cs: Removed unneccesary attribute according to corecompare
375         * Executor.cs: Fixed signature with ref calls according to corecompare and made neccessary changes
376
377 2003-06-20  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
378
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)
387         
388         * CompilerOptions.cs: Deleted this file (such a class does not exist)
389         
390 2003-05-16  Dick Porter  <dick@ximian.com>
391
392         * TempFileCollection.cs: Implement
393
394 2003-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
395
396         * CodeGenerator.cs:
397         (GenerateSnippetStatement): use WriteLine instead of Write.
398
399 2003-04-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
400
401         * CodeGenerator.cs:
402         (GenerateCodePrimitive): special case strings and chars (bool was
403         already a special case). Throw an exception if the type is not a
404         primitive type.
405
406 2003-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
407
408         * CodeGenerator.cs: more fixes and sorted the output.
409         
410         * IndentedTextWriter.cs: don't output tabs in WriteLine ().
411
412 2003-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
413
414         * CodeGenerator.cs:
415         (GenerateCompileUnitStart):
416         (GenerateCompileUnitEnd): removed debug output.
417         (GeneratePrimitiveExpression): handle null and bool as special cases.
418         (GenerateType): added type constructor and constructor calls.
419
420 2003-02-20  Alfonso Ali <isa@infomed.sld.cu>
421
422         * CodeGenerator.cs: Generates the entry point method.
423
424 2003-01-10  Duncan Mak  <duncan@ximian.com>
425
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.
430
431 2002-11-30 Jackson Harper <jackson@latitudegeo.com>
432
433         * CodeCompiler.cs: Removed TODO attribute from abstract members
434
435 2002-11-30 Jackson Harper <jackson@latitudegeo.com>
436
437         * CodeCompiler.cs: Added stub
438
439 2002-09-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
440
441         * CodeDomProvider.cs:
442         * IndentedTextWriter.cs: misc. fixes.
443
444 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
445
446         * CompilerError.cs: implemented.
447         * CompilerErrorCollection.cs: stubbed out and fix inheritance.
448         * GeneratorSupport.cs: fixed values.
449
450 2002-05-28  Daniel Stodden <stodden@in.tum.de>
451
452         * CodeDomProvider.cs: added, incomplete
453
454         * CodeGeneratorOptions.cs: added, complete
455
456         * CompilerErrorCollection.cs: added, stub
457
458         * CompilerOptions.cs: added, stub
459
460         * CompilerResults.cs: added, complete
461
462         * GeneratorSupport.cs: added, complete
463
464         * ICodeCompiler.cs: added, complete
465
466         * ICodeParser.cs: added, complete
467
468         * IndentedTextWriter.cs: added, complete
469
470         * LanguageOptions.cs: added, complete
471
472         * TempFileCollection.cs: added, stub
473         
474         * ICodeGenerator.cs: added, complete
475
476 2002-01-05  Ravi Pratap  <ravi@ximian.com>
477
478         * CodeGenerator.cs : Mark bits with MonoTODO.
479
480 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
481
482         * CodeGenerator.cs: moved using statement out of namespace
483         declaration.
484