[corlib] Improve CancellationTokenSource test
[mono.git] / mcs / class / System / System.CodeDom.Compiler / ChangeLog
1 2010-04-13  Jonathan Pryor  <jpryor@novell.com>
2
3         * CodeGenerator.cs: Clear out the current member when beginning Type
4           generation.  This prevents "invalid" `#endregion`s; if the
5           CodeGenerator instance is reused for multiple types, the last member
6           of the first type has an EndDirective, then the EndDirectvies will
7           be generated before any members of the 2nd type.  Don't do that.
8
9 2010-04-07  Jb Evain  <jbevain@novell.com>
10
11         * Executor.cs: make class static.
12
13 2010-04-01  Jb Evain  <jbevain@novell.com>
14
15         * CodeDomProvider.cs, CompilerInfo.cs: add .net 4.0 overloads.
16
17 2010-03-06  Marek Habersack  <mhabersack@novell.com>
18
19         * CompilerCollection.cs: in the 4.0 profile, the latest C#
20         standard is the compiler's default.
21
22 2008-10-09  Marek Habersack  <mhabersack@novell.com>
23
24         * CompilerCollection.cs: use all the compiler information from
25         config file when adding new CompilerInfo. Fixes bug #433802
26
27 2008-02-26  Marek Habersack  <mhabersack@novell.com>
28
29         * CompilerResults.cs: Output can be set internally.
30
31 2008-02-10  Juraj Skripsky  <js@hotfeet.ch>
32
33         * CodeGenerator.cs: Mark CurrentClass internal for NET_1_1.
34         Add nested Visitor class and member. 
35         GenerateExpression, GenerateStatement, GenerateType: Use visitor.
36         GeneratePrimitiveExpression: Replace if-else chain with switch
37         on TypeCode. 
38
39 2008-01-27  Gert Driesen  <drieseng@users.sourceforge.net>
40
41         * CodeGenerator.cs: Fixed ArgumentException argument names. Indent
42         expression list.
43
44 2007-12-15  Marek Habersack  <mhabersack@novell.com>
45
46         * Compiler.cs: added support for the default collection of
47         <providerOption> child elements and corresponding public
48         properties (ProviderOptions and ProviderOptionsDictionary).
49
50         * CompilerInfo.cs: added ProviderOptions dictionary, to hold
51         values from the <providerOption> collection of the
52         system.codeDom/compilers/compiler/ element.
53         CodeDomProviderType throws an exception if the provider type
54         cannot be found, as per MSDN.
55         CreateProvider uses the new provider constructor which takes
56         provider options dictionary as its parameter, if found in the
57         provider type.
58
59         * CompilerCollection.cs: compiler defaults are initialized using
60         the provider options dictionary, with one option present -
61         "CompilerVersion" set to "2.0".
62         Two dictionaries to map languages and extensions to compiler
63         information objects added.
64
65         * CompilerProviderOption.cs: added - implements the
66         <providerOption> element.
67
68         * CompilerProviderOptionsCollection.cs: added - implements
69         collection for the 2.0sp1 <providerOption> child element of the
70         system.codeDom/compilers/compiler element.
71
72 2007-03-05  Peter Dettman <peter.dettman@iinet.net.au>
73
74         * Codegenerator.cs: I noticed an `unreachable code' warning while
75         building Mono:
76
77         System.CodeDom.Compiler/CodeGenerator.cs(1229,42): warning CS0162:
78         Unreachable code detected
79
80         This turned out to be in the method
81         CodeGenerator.IsValidLanguageIndependentIdentifier, which was
82         broken.
83
84         The following patch contains a unit test to demonstrate the
85         problem (checked against MS.NET), and a fix to CodeGenerator.cs.
86
87 2007-02-22  Marek Habersack  <grendello@gmail.com>
88
89         * CompilerCollection.cs: be case-insensitive with languages and
90         extensions when looking up the compiler.
91
92 2007-01-22  Miguel de Icaza  <miguel@novell.com>
93
94         * CodeDomProvider.cs: Prevent Moma from getting confused.
95
96 2006-11-17  Atsushi Enomoto  <atsushi@ximian.com>
97
98         * TempFileCollection.cs : make it work under non-libc environment.
99
100 2006-11-16  Marek Habersack  <grendello@gmail.com>
101
102         * Compiler.cs: ConfigurationElement to handle the <compiler>
103         sub-element of the <system.codedom> section
104
105         * CodeDomConfigurationHandler.cs: Reimplemented as a
106         ConfigurationSection. Made the class internal.
107
108         * CompilerCollection.cs: Collection of Compiler and CompilerInfo
109         objects. Uses List<CompilerInfo> as we need to be able to store
110         multiple entries for the same language, as .NET does.
111
112         * CodeDomProvider.cs: Changes to use the new
113         CodeDomConfigurationHandler class.
114
115 2006-11-07  Marek Habersack  <grendello@gmail.com>
116
117         * CompilerInfo.cs: Implement the CreateDefaultCompilerParameters API.
118
119         * CodeDomConfigurationHandler.cs: WarningLevel of CompilerInfo
120         should default to -1 if it is absent from the config file, as per
121         MSDN.
122
123 2006-11-06  Marek Habersack  <grendello@gmail.com>
124
125         * CodeDomProvider.cs: IsDefinedLanguage should return true if
126         CompilerInfo for the specified language exists.
127
128         * CodeDomConfigurationHandler.cs: add an instance of CompilerInfo
129         separately for each language name defined in the compiler's
130         definition.
131
132 2006-09-15  LLuis Sanchez Gual  <lluis@novell.com>
133
134         * TempFileCollection.cs: Create files in a temporary subdirectory,
135         for security reasons.
136         * CodeCompiler.cs: Let TempFileCollection choose the temp dir.
137
138 2006-05-04  LLuis Sanchez Gual  <lluis@novell.com>
139
140         * TempFileCollection.cs: Make sure generated file names
141           are unique. Fixes bug #76125 and #78230.
142
143 2006-04-20  Gert Driesen  <drieseng@users.sourceforge.net>
144
145         * CodeGenerator.cs: Output empty line between types if 
146         BlankLinesBetweenMembers option is set.
147
148 2006-03-24  Chris Toshok  <toshok@ximian.com>
149
150         * CompilerInfo.cs (Init): make this internal as well, so
151         CodeDomConfigurationHandler can call it.
152
153         * CodeDomConfigurationHandler.cs (ReadCompilers): we need to call
154         CompilerInfo.Init after setting CompilerInfo.TypeName.
155
156 2006-03-11  Miguel de Icaza  <miguel@novell.com>
157
158         * CodeDomConfigurationHandler.cs: Comment out unused methods. 
159
160         * TempFileCollection.cs: Implement explicitly some interface
161         methods to get rid of the "!" errors on CorCompare.
162
163 2006-02-19  Zoltan Varga  <vargaz@gmail.com>
164
165         * CodeDomProvider.cs: Fix the [ToolboxItem] attribute. Fixes #77513.
166
167 2005-12-07  Gert Driesen  <drieseng@users.sourceforge.net>
168
169         * CodeGenerator.cs: Modified GeneratePrimitiveExpression to throw 
170         ArgumentException for sbyte value, use GenerateSingleFloatValue for 
171         float, GenerateDecimalValue for decimal and GenerateDoubleValue for
172         double. Modified exception message for non-primitive types to match
173         MS.NET.
174         * ICodeCompiler.cs: Set eol-style to native.
175         * CodeCompiler.cs: Set eol-style to native.
176         * CodeDomConfigurationHandler.cs: Set eol-style to native.
177         * CodeDomProvider.cs: Set eol-style to native.
178         * CodeGeneratorOptions.cs: Set eol-style to native.
179         * CodeParser.cs: Set eol-style to native.
180         * CompilerError.cs: Set eol-style to native.
181         * CompilerErrorCollection.cs: Set eol-style to native.
182         * CompilerInfo.cs: Set eol-style to native.
183         * CompilerParameters.cs: Set eol-style to native.
184         * CompilerResults.cs: Set eol-style to native.
185         * Executor.cs: Set eol-style to native.
186         * GeneratorSupport.cs: Set eol-style to native.
187         * ICodeGenerator.cs: Set eol-style to native.
188         * ICodeParser.cs: Set eol-style to native.
189         * LanguageOptions.cs: Set eol-style to native.
190         * TempFileCollection.cs: Set eol-style to native.
191
192 2005-11-30  Gert Driesen  <drieseng@users.sourceforge.net>
193
194         * CodeGenerator.cs: Corrected line endings. Set eol-style to native.
195         * IndentedTextWriter.cs: Indent can no longer become negative.
196
197 2005-11-04  Sebastien Pouliot  <sebastien@ximian.com> 
198
199         * CodeCompiler.cs: Compile now use the Executor class (instead of the
200         Process class). Fixed JoinStringArray.
201         * CompilerResults.cs: Load assembly only when the property is called.
202
203 2005-11-02  Sebastien Pouliot  <sebastien@ximian.com> 
204
205         * Executor.cs: Reworked (for permissions) and fixed ExitCode (must be 
206         called before Close).
207
208 2005-11-01  Sebastien Pouliot  <sebastien@ximian.com> 
209  
210         * CodeGenerator.cs: Added/stubbed missing 2.0 stuff.
211
212 2005-11-01  Sebastien Pouliot  <sebastien@ximian.com>
213
214         CodeDomProvider.cs: Added missing 2.0 methods. Added CAS permissions.
215         Added protection against NullReferenceException when no config is
216         available.
217
218 2005-10-29  Sebastien Pouliot  <sebastien@ximian.com>
219
220         CodeDomProvider.cs: Stubbed a few 2.0 methods to fix API errors in 
221         derived classes.
222
223 2005-10-25  Sebastien Pouliot  <sebastien@ximian.com>
224
225         * CompilerError.cs: Added LinkDemand for Unrestricted before 2.0.
226         * CompilerErrorCollection.cs: Added LinkDemand for Unrestricted before
227         2.0.
228
229 2005-10-25  Sebastien Pouliot  <sebastien@ximian.com> 
230  
231         * CodeGenerator.cs: Fixed OutputAttributeArgument not to assume the
232         default value is null (it's String.Empty).
233
234 2005-10-25  Sebastien Pouliot  <sebastien@ximian.com>
235
236         * CompilerParameters.cs: Added [ComVisible(false)] on the new (2.0)
237         EmbeddedResources and LinkedResources properties.
238         * TempFileCollection.cs: Changed BasePath property to use Path.
239         GetTempPath (Environment check) and added the PathDiscovery check on
240         the combined result. Fixed TempDir so it's value never change (i.e. 
241         imply that it doesn't need any permissions). Fixed SyncRoot to always 
242         return null.
243
244 2005-10-24  Sebastien Pouliot  <sebastien@ximian.com>
245
246         * CodeGeneratorOptions.cs: Fixed how properties are kept inside the
247         IDictionary (which is just like System.Web.dll).
248         * CompilerError.cs: Added [Serializable] attribute for 2.0.
249         * CompilerInfo.cs: Added LinkDemand for Unrestricted. Stubbed new 
250         (2.0) CreateDefaultCompilerParameters method.
251         * CompilerParameters.cs: Added LinkDemand and InheritanceDemand for
252         Unrestricted. Added Demand for ControlEvidence to Evidence property.
253         Added new (2.0) EmbeddedResources and LinkedResources properties.
254         * CompilerResults.cs: Added LinkDemand and InheritanceDemand for 
255         Unrestricted. Added Demand for ControlEvidence to Evidence property.
256         * Executor.cs: Added LinkDemand for Unrestricted. Added support for 
257         userToken (impersonation).
258         * GeneratedCodeAttribute.cs: New. 2.0 attribute for code generated by 
259         tools.
260         * IndentedTextWriter.cs: Added LinkDemand and InheritanceDemand for 
261         Unrestricted.
262
263 2005-10-04  Sebastien Pouliot  <sebastien@ximian.com>
264
265         * TempFileCollection.cs: Added a call to GC.SuppressFinalize in 
266         Dispose.
267
268 2005-07-30 Gert Driesen <drieseng@users.sourceforge.net>
269
270         * CodeGenerator.cs: In OutputMemberScopeModifier, only output 
271         "new" modifier in 2.0 profile.
272
273 2005-07-24 Gert Driesen <drieseng@users.sourceforge.net>
274
275         * CodeGenerator.cs: Threat delegates like any other type.
276
277 2005-07-21 Gert Driesen <drieseng@users.sourceforge.net>
278
279         * CodeGenerator.cs: Fixed IsCurrentClass to return false for delegate.
280
281 2005-06-28 Gert Driesen <drieseng@users.sourceforge.net>
282
283         * CodeGenerator.cs: On 2.0 profile, internal members are also marked
284         virtual. Fixed access modifier for FamilyAndAssembly to match
285         MS.NET.
286
287 2005-06-25 Gert Driesen <drieseng@users.sourceforge.net>
288
289         * CodeGenerator.cs: Fixed bug #75190, GenerateCodeFromCompileUnit
290         generates no code for CodeSnippetCompileUnit.
291
292 2005-06-04 Gert Driesen <drieseng@users.sourceforge.net>
293
294         * IndentedTextWriter.cs: also output tabs in WriteLine () to
295         match MS.NET
296
297 2005-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
298
299         * CodeDomProvider.cs: implemented IsDefined* and GetCompilerInfo.
300         * CompilerInfo.cs: implemented.
301         * CodeDomConfigurationHandler.cs: system.codedom section reader.
302
303 2005-01-27  LLuis Sanchez Gual  <lluis@novell.com>
304
305         * CodeGenerator.cs: Write 'f' suffix for float constants.
306
307 2004-09-06  Marek Safar  <marek.safar@seznam.cz>
308
309         * CodeGenerator.cs,
310         * GeneratorSupport.cs : Implemented NET_2_0 extension
311         
312         * CompilerInfo.cs : New NET_2_0 file.
313
314 2004-09-01  Marek Safar  <marek.safar@seznam.cz>
315
316         * CodeGenerator.cs : Added newline after global attributes output.
317         (OutputAttributeDeclaration): Replace '+' with '.' for nested
318         attribute types.
319
320 2004-08-09  Atsushi Enomoto  <atsushi@ximian.com>
321
322         * CodeGenerator.cs :
323           Don't initialize output more than once. TextWriter is wrapped twice.
324
325 2004-07-15  Peter Williams  <peter@newton.cx>
326
327         * CodeGenerator.cs: Have the basic generator create line pragmas
328         for NamespaceImports, SnippetCompileUnits, and TypeMembers, all of
329         which had LinePragma members which were going unused.
330
331 2004-06-17  Jackson Harper  <jackson@ximian.com>
332
333         * CompilerError.cs:
334         * CodeGenerator.cs: Make sure we are using invariant for non
335         culture sensitive operations.
336         
337 2004-06-13  Gert Driesen <drieseng@users.sourceforge.net>
338
339         * IndentedTextWriter.cs: have DefaultTabString correspond with
340         MS.NET (meaning four spaces)
341
342 2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
343
344         * TempFileCollection.cs: don't create a Random object on every call to
345         BasePath.
346
347 2004-04-26  Atsushi Enomoto  <atsushi@ximian.com>
348
349         * CodeGenerator.cs : delegate was output as usual class.
350
351 2004-03-29  Lluis Sanchez Gual  <lluis@ximian.com>
352
353         * Executor.cs: Implemented.
354
355 2004-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
356
357         * TempFileCollection.cs: fixed typo in Delete. Closes bug #54443.
358
359 2004-02-10  Jackson Harper <jackson@ximian.com>
360
361         * CompilerParameters.cs: TempFiles should never return null.
362         
363 2004-02-04  Jackson Harper <jackson@ximian.com>
364
365         * CodeGenerator.cs (GenerateExpression): Don't allow null
366         expressions. Throw ArgumentException if the expression type is not
367         handled.
368         * CodeGenerator.cs (GenerateStatement): Add line pragmas if they
369         are set. Throw ArgumentException if the expression type is not handled.
370         
371 2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
372
373         * TempFileCollection.cs: fixed temp path in BaseDir.
374
375 2003-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
376
377         * CodeGenerator.cs: fixed assembly level attribute generation.
378
379 2003-08-08  Lluis Sanchez Gual  <lluis@ximian.com>
380
381         * CodeGenerator.cs: When sorting the members of a type, keep the
382         relative order of the members of the same kind.
383
384 2003-08-05  Lluis Sanchez Gual  <lluis@ximian.com>
385
386         * CodeGenerator.cs: Generate comments for properties and fields.
387           Write a line separator between type declarations.
388
389 2003-07-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
390
391         * Executor.cs: Changed abstract to sealed
392
393 2003-07-07  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
394
395         * CodeDomProvider.cs: Removed unneccesary attribute according to corecompare
396         * Executor.cs: Fixed signature with ref calls according to corecompare and made neccessary changes
397
398 2003-06-20  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
399
400         * CodeCompiler.cs: Nearly completely implemented
401         * CodeDomProvider.cs: Added missing Attribute, restyled according to style guidelines
402         * CodeGenerator.cs: Fixed visibilies, added missing members, implemented members, stubbed out missing member, restyled according to style guidelines
403         * CodeParser.cs: Added and implemented (ok no real implementation needed ;)
404         * CompilerErrorCollection.cs: Removed unneeded MonoTODOs, restyled according to style guidelines
405         * CompilerParameters.cs: Fixed wrong properties, Added Initializers, restyled according to style guidelines
406         * CompilerResults.cs: Added Evidence property, added initial values
407         * Executor.cs: Added and partially implemented (should probably be used by CodeCompiler)
408         
409         * CompilerOptions.cs: Deleted this file (such a class does not exist)
410         
411 2003-05-16  Dick Porter  <dick@ximian.com>
412
413         * TempFileCollection.cs: Implement
414
415 2003-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
416
417         * CodeGenerator.cs:
418         (GenerateSnippetStatement): use WriteLine instead of Write.
419
420 2003-04-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
421
422         * CodeGenerator.cs:
423         (GenerateCodePrimitive): special case strings and chars (bool was
424         already a special case). Throw an exception if the type is not a
425         primitive type.
426
427 2003-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
428
429         * CodeGenerator.cs: more fixes and sorted the output.
430         
431         * IndentedTextWriter.cs: don't output tabs in WriteLine ().
432
433 2003-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
434
435         * CodeGenerator.cs:
436         (GenerateCompileUnitStart):
437         (GenerateCompileUnitEnd): removed debug output.
438         (GeneratePrimitiveExpression): handle null and bool as special cases.
439         (GenerateType): added type constructor and constructor calls.
440
441 2003-02-20  Alfonso Ali <isa@infomed.sld.cu>
442
443         * CodeGenerator.cs: Generates the entry point method.
444
445 2003-01-10  Duncan Mak  <duncan@ximian.com>
446
447         * CompilerErrorCollection.cs: 
448         * CompilerParameters.cs: Patch from Sean Kasun
449         <skasun@azstarnet.com> implementing most of the MonoTODOs in
450         CompilerErrorCollection and the CompilerParameters overloads in CompilerParameters.cs.
451
452 2002-11-30 Jackson Harper <jackson@latitudegeo.com>
453
454         * CodeCompiler.cs: Removed TODO attribute from abstract members
455
456 2002-11-30 Jackson Harper <jackson@latitudegeo.com>
457
458         * CodeCompiler.cs: Added stub
459
460 2002-09-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
461
462         * CodeDomProvider.cs:
463         * IndentedTextWriter.cs: misc. fixes.
464
465 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
466
467         * CompilerError.cs: implemented.
468         * CompilerErrorCollection.cs: stubbed out and fix inheritance.
469         * GeneratorSupport.cs: fixed values.
470
471 2002-05-28  Daniel Stodden <stodden@in.tum.de>
472
473         * CodeDomProvider.cs: added, incomplete
474
475         * CodeGeneratorOptions.cs: added, complete
476
477         * CompilerErrorCollection.cs: added, stub
478
479         * CompilerOptions.cs: added, stub
480
481         * CompilerResults.cs: added, complete
482
483         * GeneratorSupport.cs: added, complete
484
485         * ICodeCompiler.cs: added, complete
486
487         * ICodeParser.cs: added, complete
488
489         * IndentedTextWriter.cs: added, complete
490
491         * LanguageOptions.cs: added, complete
492
493         * TempFileCollection.cs: added, stub
494         
495         * ICodeGenerator.cs: added, complete
496
497 2002-01-05  Ravi Pratap  <ravi@ximian.com>
498
499         * CodeGenerator.cs : Mark bits with MonoTODO.
500
501 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
502
503         * CodeGenerator.cs: moved using statement out of namespace
504         declaration.
505