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