2008-04-16 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System / Microsoft.CSharp / ChangeLog
1 2008-04-09  Jb Evain  <jbevain@novell.com>
2
3         * CSharpCodeGenerator.cs: Emit bodyless getters and setters
4         for abstract properties. Based on a patch by
5         Stefan Rusek <stefan@fogcreek.com>
6
7 2008-02-27  Marek Habersack  <mhabersack@novell.com>
8
9         * CSharpCodeCompiler.cs: use asynchronous method of capturing mcs
10         output in the 2.0+ profile.
11
12 2008-02-26  Marek Habersack  <mhabersack@novell.com>
13
14         * CSharpCodeCompiler.cs: CompilerResults.Output can now be set
15         internally.
16
17 2008-02-26  Atsushi Enomoto  <atsushi@ximian.com>
18
19         * CSharpCodeCompiler.cs : build fix.
20           CompilerResults.Output is read only.
21
22 2008-02-25  Marek Habersack  <mhabersack@novell.com>
23
24         * CSharpCodeCompiler.cs: ignore standard output and report only
25         lines printed to stdandard error to the caller.
26
27 2008-01-27  Gert Driesen  <drieseng@users.sourceforge.net>
28
29         * CSharpCodeGenerator.cs: Avoid ArgumentNullException when
30         CodeDelegateInvokeExpression.TargetObject is null.
31
32 2008-01-16  Gert Driesen  <drieseng@users.sourceforge.net>
33
34         * CSharpCodeGenerator.cs: Cosmetic changes to the code emitted for
35         type constraints. Allows our unit tests to pass on both Mono and MS.
36
37 2008-01-16  Juraj Skripsky  <js@hotfeet.ch>
38
39         * CSharpCodeGenerator.cs (GenerateGenericsConstraints): Take 
40         solitary constructor constraints into account. Fixes bug #353921.
41
42 2008-01-16  Zoltan Varga  <vargaz@gmail.com>
43
44         * CSharpCodeCompiler.cs: Avoid setting results.CompiledAssembly since it might
45         be a netmodule. Fixes #353536.
46
47 2008-01-14  Marek Habersack  <mhabersack@novell.com>
48
49         * CSharpCodeCompiler.cs: 3.0 is the default version now.
50
51 2008-01-10  Marek Habersack  <mhabersack@novell.com>
52
53         * CSharpCodeCompiler.cs: check if running under the debugger and,
54         if yes, make sure that gmcs runs correctly by removing the
55         MONO_INSIDE_MDB environment variable before executing gmcs and
56         restore it after the compiler process exits. Fixes bug #352377.
57
58 2007-12-15  Marek Habersack  <mhabersack@novell.com>
59
60         * CSharpCodeProvider.cs: added support for the 2.0sp1 constructor
61         which takes a Dictionary <string, string> parameter with compiler
62         provider options. If any options are present, the
63         generator/compiler are created using appropriate constructor
64         overload.
65
66         * CSharpCodeGenerator.cs: added support for the 2.0sp1 constructor
67         which takes a Dictionary <string, string> parameter with compiler
68         provider options.
69
70         * CSharpCodeCompiler.cs: added support for the 2.0sp1 constructor
71         which takes a Dictionary <string, string> parameter with compiler
72         provider options. The "CompilerVersion" option is supported, with
73         possible values "2.0" (currently maps to -langversion:Default) and
74         "3.5" (currently maps to -langversion:linq).
75
76 2007-10-26  Atsushi Enomoto  <atsushi@ximian.com>
77
78         * CSharpCodeGenerator.cs : property name was not escaped.
79
80 2007-02-21  Gert Driesen  <drieseng@users.sourceforge.net>
81
82         * CSharpCodeCompiler.cs: Also generate temp filename for OutputAssembly
83         if its a zero-length string. Fixed bug #80920. Set extension to exe or
84         dll depending on whether we're generating an executable or not.
85
86 2007-01-18  Atsushi Enomoto  <atsushi@ximian.com>
87
88         * CSharpCodeGenerator.cs : for GenericTypeParameter, GetTypeOutput()
89           should just print its name.
90           For generic type definition, print "<>". OutputTypeArguments() was
91           also causing IndexOutOfRangeException.
92
93 2006-12-30  Marek Habersack  <grendello@gmail.com>
94
95         * CSharpCodeGenerator.cs: implement actual identifier syntax correctness
96         checking, as defined in the C# standard (almost).
97
98 2006-08-08  Gert Driesen <drieseng@users.sourceforge.net>
99
100         * CSharpCodeCompiler.cs: Added support for embedded resources, fixes
101         bug #78384. Added support for linked resources. Removed unnecessary
102         null check for options.ReferencedAssemblies.
103
104 2006-07-16  Andrew Skiba <andrews@mainsoft.com>
105
106         * CSharpCodeCompiler.cs: find mono.exe in mono/mini; fixes #78731
107
108 2006-04-30  Marek Safar <marek.safar@seznam.cz>
109
110         * CSharpCodeCompiler.cs: mcs does not like /r:"" syntax; fixes #78038.
111
112 2005-12-07  Gert Driesen  <drieseng@users.sourceforge.net>
113
114         * CSharpCodeGenerator.cs: Override GeneratePrimitiveExpression to
115         match .NET 1.x and 2.0 for float, decimal, char, ushort, uint, ulong
116         and sbyte.
117
118 2005-11-30  Gert Driesen  <drieseng@users.sourceforge.net>
119
120         * CSharpCodeGenerator.cs: No longer output semicolon and newline for
121         CodeVariableDeclarationStatement in for statement, fixes #75292. 
122         Fixed NRE in GenerateEventReferenceExpression. Cosmetic changes to 
123         code generated for iteration to match MS.NET. Temporary reduce 
124         indentation for label and no longer escape label if its a keyword.
125
126 2005-11-26  Gert Driesen  <drieseng@users.sourceforge.net>
127
128         * CSharpCodeGenerator.cs: Fixed GenerateComment to also write
129         comment chars for carriage-return (and skip linefeed, if its the
130         next character). Fixed output for TryCatchFinallyStatement. Fixed
131         GotoStatement to end with newline.
132
133 2005-11-04  Gert Driesen  <drieseng@users.sourceforge.net>
134
135         * CSharpCodeGenerator.cs: Ignore ChecksumData of CodeChecksumPragma
136         if null.
137
138 2005-10-29  Sebastien Pouliot  <sebastien@ximian.com>
139
140         * CSharpCodeProvider.cs: GenerateCodeFromMember method is an override 
141         in 2.0 final.
142
143 2005-10-28  Gert Driesen  <drieseng@users.sourceforge.net>
144
145         * CSharpCodeGenerator.cs: Use fixed signature for entrypoint method
146         on 1.0 profile. On 2.0 profile output custom attributes, and return
147         type. On 1.0 profile, also replace + with dot (for nested types).
148         Fixes bug #76580. Set eol-style to native.
149         * CSharpCodeCompiler.cs: Set eol-style to native.
150         * CSharpCodeProvider.cs: Set eol-style to native.
151
152 2005-10-19  Miguel de Icaza  <miguel@novell.com>
153
154         * CSharpCodeCompiler.cs: Quote the directory, to fix #76469
155
156 2005-10-17  Sebastien Pouliot  <sebastien@ximian.com>
157
158         * CSharpCodeProvider.cs: Added a LinkDemand and an InheritanceDemand
159         for FullTrust (i.e. Unrestricted permission set) at the class level.
160         Added [Obsolete] on CreateCompiler and CreateGenerator methods (2.0).
161         Stubbed new method GenerateCodeFromMember (2.0).
162
163 2005-10-15 Gert Driesen <drieseng@users.sourceforge.net>
164         
165         * CSharpCodeGenerator.cs: Support C bracing style. Fixes bug #76286.
166
167 2005-10-07 Gert Driesen <drieseng@users.sourceforge.net>
168
169         * CSharpCodeGenerator.cs: Fixed supported for type arguments in
170         GetTypeOutput on 2.0 profile. Partial fix for bug #76286.
171
172 2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
173
174         * CSharpCodeCompiler.cs: patch from Maksim Vorobiev that prevents
175         InvalidOperationException if the thread running mcs is aborted.
176
177 2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
178
179         * CSharpCodeCompiler.cs: made the colon optional so that both mcs and
180         gmcs work.
181
182 2005-08-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
183
184         * CSharpCodeCompiler.cs: added missing colon after the line,column
185         parenthesis in the regex that parses the errors to make this work with
186         HEAD mcs.
187
188 2005-07-30 Gert Driesen <drieseng@users.sourceforge.net>
189
190         * CSharpCodeGenerator.cs: Fixed code generated for NewSlot members.
191
192 2005-07-24 Gert Driesen <drieseng@users.sourceforge.net>
193
194         * CSharpCodeGenerator.cs: Fixed generated code for enums, interfaces
195         and delegates to match MS.NET.
196
197 2005-07-02 Gert Driesen <drieseng@users.sourceforge.net>
198
199         * CSharpCodeGenerator.cs: Fixed output of ReturnTypeCustomAttributes.
200
201 2005-07-02 Gert Driesen <drieseng@users.sourceforge.net>
202
203         * CSharpCodeGenerator.cs: Added PrivateImplementationType support
204         for events, properties, methods. No longer output scope modifier
205         for events.
206
207 2005-06-30 Gert Driesen <drieseng@users.sourceforge.net>
208
209         * CSharpCodeGenerator.cs: Only consider property an indexer if
210         name is Item (case-insensitive comparison) and property has
211         parameters.
212
213 2005-06-28 Gert Driesen <drieseng@users.sourceforge.net>
214
215         * CSharpCodeGenerator.cs: Fixed GetTypeOutput to match MS.NET 1.x
216         and 2.0.        
217
218 2005-06-26 Gert Driesen <drieseng@users.sourceforge.net>
219
220         * CSharpCodeGenerator.cs: Fixed generated code for events, fields,
221         properties, methods and ctors to match MS.NET.
222
223 2005-06-25 Gert Driesen <drieseng@users.sourceforge.net>
224
225         * CSharpCodeGenerator.cs: Also modified generated code for type-level
226         attributes to match MS.NET.
227
228 2005-06-25 Gert Driesen <drieseng@users.sourceforge.net>
229
230         * CSharpCodeGenerator.cs: Fixed generated code for assembly-level
231         attributes to match code generated by MS.NET.
232
233 2005-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
234
235         * CSharpCodeCompiler.cs: use UTF8 in the StreamWriter, as it did before
236         r45802 removed it accidentally. Fixes bug #75361.
237
238 2005-06-12  Gert Driesen <drieseng@users.sourceforge.net>
239
240         * CSharpCodeCompiler.cs: Temp source files should have extension
241         ".cs".
242
243 2005-06-11  Gert Driesen <drieseng@users.sourceforge.net>
244
245         * CSharpCodeGenerator.cs: Win32 resources are supported. Fixes bug
246         #75218.
247         * CSharpCodeCompiler.cs: Clean up temporary files after compilation. 
248         Fixes bug #75221. Added support for Win32 resources. Fixes bug
249         #75218.
250
251 2005-05-29  Gert Driesen <drieseng@users.sourceforge.net>
252
253         * CSharpCodeCompiler.cs: Load compiled assembly from byte array
254         if GenerateInMemory compiler parameter is set, set PathToAssembly
255         if compilation succeeded and GenerateInMemory is false.
256         Fixes bug #74959.
257
258 2005-04-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
259
260         * CSharpCodeCompiler.cs: fix problem with the output CS8028.
261
262 2005-02-03  Atsushi Enomoto  <atsushi@ximian.com>
263
264         * CSharpCodeCompiler.cs : On windows, use gmcs under 2.0 profile too.
265
266 2005-01-19  Jonathan Pryor  <jonpryor@vt.edu>
267
268         * CSharpCodeGenerator.cs: Remove extra ' ' emitted after class name in 
269           GenerateTypeStart().  This removes a regression test failure in
270           MonoTests.Microsoft.CSharp.CodeGeneratorFromTypeTest.DefaultTypeTest.
271
272 2005-01-12  Lluis Sanchez Gual  <lluis@novell.com>
273
274         * CSharpCodeGenerator.cs: Avoid keywords when writing enum members.
275         Removed the GetSafeTypeName method. It was a wrong bug fix. Type names
276         are expected to always use the full name form, never the alias.
277
278 2004-12-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
279
280         * CSharpCodeCompiler.cs: ignore the 'BETA SOFTWARE blah' from gmcs.
281         Use stderr to get the errors/warnings instead of stdout. Removed
282         obsolete lines from CreateErrorFromString.
283
284 2004-10-02 Marek Safar <marek.safar@seznam.cz>
285
286         * CSharpCodeCompiler.cs: Fix #65722.
287
288 2004-09-14 Marek Safar <marek.safar@seznam.cz>
289
290         * CSharpCodeGenerator.cs: Fix #65854.
291
292 2004-09-08  Lluis Sanchez Gual  <lluis@novell.com>
293
294         * CSharpCodeGenerator.cs: Reverted change in GenerateArrayCreateExpression.
295         It was causing regressions.
296
297 2004-09-06 Marek Safar <marek.safar@seznam.cz>
298
299         * CSharpCodeGenerator.cs: Implemented NET_2_0 extensions
300         
301 2004-09-01 Marek Safar <marek.safar@seznam.cz>
302
303         * CSharpCodeGenerator.cs : New private member dont_write_semicolon.
304         Used for one row "for" syntax.
305         (GenerateEvent): Added attributes output.
306         (GenerateField): Don't output access and scope modifier for enum field.
307         (GenerateConstructor): Added attributes output.
308         (QuoteSnippetString): Fixed mixed case type conversion. Replace '+'
309         with '.' for nested classes.
310
311 2004-07-21  Lluis Sanchez Gual  <lluis@novell.com>
312
313         * CSharpCodeCompiler.cs: Hack to make code generation work in 2.0.
314
315 2004-07-13  Peter Williams  <peter@newton.cx>
316
317         * CSharpCodeCompiler.cs (CompileAssemblyFromDomBatch): Include
318         counter in the extension so that batch compilations work.
319         (CompileAssemblyFromSourceBatch): Same.
320
321 2004-07-12  Fawad Halim <fawad@fawad.net>
322
323         * CSharpCodeGenerator.cs : Have GenerateField generate field sans the type for enums.
324
325 2004-06-28  Atsushi Enomoto  <atsushi@ximian.com>
326
327         * CSharpCodeCompiler.cs : (only for windows) First check mcs.bat, then
328           check mcs.exe. It enables xsp working with mono windows installer.
329
330 2004-06-24  Atsushi Enomoto  <atsushi@ximian.com>
331
332         * CSharpCodeCompiler.cs : On windows we use fixed mono.exe and mcs.exe
333           located by mscorlib.dll.
334
335 2004-06-23  Jackson Harper  <jackson@ximian.com>
336
337         * CSharpCodeGenerator.cs (GenerateLabeledStatement): Append a ": "
338         to the statement name. Make sure the statement isn't null before
339         writing. Patch by Alex Yakunin.
340         
341 2004-06-22  Atsushi Enomoto  <atsushi@ximian.com>
342
343         * CSharpCodeGenerator.cs :
344           Check null argument in CreateValidIdentifier().
345
346 2004-06-21  Atsushi Enomoto  <atsushi@ximian.com>
347
348         * CSharpCodeGenerator.cs : Fix for tests. Check type names in
349           CreateValidIdentifier. Implemented IsValidIdentifier.
350
351 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
352
353         * CSharpCodeCompiler.cs: let the TempFileCollection handle the removal
354         of the files if needed.
355
356 2004-04-26  Atsushi Enomoto  <atsushi@ximian.com>
357
358         * CSharpCodeGenerator.cs : implemented GenerateEvent.
359           Delegate was output as usual class.
360
361 2004-03-29  Lluis Sanchez Gual  <lluis@ximian.com>
362
363         * CSharpCodeGenerator.cs: In GetTypeOutput, never escape runtime type names.
364         Created a new method GetSafeTypeName to support this.
365
366 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
367
368         * CSharpCodeGenerator.cs: patch from Jaroslaw Kowalski that fixes
369         CodeMethodReturnStatement(). Closes bug #54934.
370
371 2004-02-27  Jaroslaw Kowalski <jaak@zd.com.pl>
372  
373         * CSharpCodeGenerator.cs: fixed static property references
374         in GeneratePropertyReferenceExpression
375  
376 2004-02-10  Jackson Harper <jackson@ximian.com>
377
378         * CSharpCodeCompiler.cs: Use the temp files collection for
379         creating temp files.
380         
381 2004-02-04  Jackson Harper <jackson@ximian.com>
382
383         * CSharpCodeGenerator.cs: Don't write ToThrow statement if it is
384         null (matches MS output). When creating comments there is a space
385         after the first // but not the following lines.
386         
387 2004-01-21  Atsushi Enomoto <atsushi@ximian.com>
388
389         * CSharpCodeGenerator.cs: Implemented CreateEscapedIdentifier() and
390           CreateValidIdentifier().
391
392 2004-01-19  Lluis Sanchez Gual <lluis@ximian.com>
393
394         * CSharpCodeGenerator.cs: Do not generate access and scope modifiers for
395         interface methods.
396
397 2004-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
398
399         * CSharpCodeCompiler.cs: when generating files from DOM, set the
400         encoding to UTF-8 with BOM marker. Fixes bug #52604.
401
402 2003-11-12  Lluis Sanchez Gual <lluis@ximian.com>
403
404         * CSharpCodeCompiler.cs: In BuildArgs, add "--" separator between
405         options and source files.
406
407 2003-10-15  Lluis Sanchez Gual <lluis@ximian.com>
408
409         * CSharpCodeGenerator.cs: added override for the method 
410           GenerateParameterDeclarationExpression. The parameter must be
411           generated with a safe C# name.
412         
413 2003-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
414
415         * CSharpCodeCompiler.cs: don't leave temporary files around.
416
417 2003-09-04  Lluis Sanchez Gual <lluis@ximian.com>
418
419         * CSharpCodeGenerator.cs: Fixed generation of array construction with
420         initializers. Render return type custom attributes.
421
422 2003-08-15  Jaroslaw Kowalski <jarek@atm.com.pl>
423
424         * CSharpCodeGenerator.cs:
425         
426           - fixed support for method references where target
427                 object is null
428           - fixed CodeThrowExceptionStatement
429           - disabled member access modifiers for private method
430             implementations
431           - disabled generation of empty method body for interface
432             declarations
433           - disabled generation of empty property accessor bodies
434             in interface declarations
435           - added support for indexers (properties named "Item")
436           - added support for chained constructor arguments and
437             base constructor arguments
438
439 2003-08-05  Lluis Sanchez Gual <lluis@ximian.com>
440
441         * CSharpCodeGenerator.cs: Added method GetSafeName() that checks if
442           a given id is a C# keyword, and returns the same if if it is not,
443           or @id if it is a keyword. This method is used everywhere
444           a name is rendered.
445
446 2003-08-05  Lluis Sanchez Gual <lluis@ximian.com>
447
448         * CSharpCodeGenerator.cs: GenerateComment(): Render multiline comments.
449
450 2003-07-30  Lluis Sanchez Gual <lluis@ximian.com>
451
452         * CSharpCodeGenerator.cs: GenerateTypeStart(): Write type custom attributes
453
454 2003-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
455
456         * CSharpCodeCompiler.cs: Few fixes for update in CodeDom.Compiler
457
458 2003-07-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
459
460         * CSharpCodeCompiler.cs: ignore debug statistics in mcs output when
461         debug is turned on.
462
463 2003-07-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
464
465         * CSharpCodeCompiler.cs: patch from pelle.johnsen@mail.dk (Pelle
466         Johnsen) that fixes bug #45708.
467
468 2003-05-17  Ben Maurer <bmaurer@users.sourceforge.net>
469
470         * CSharpCodeGenerator.cs: implemented GenerateLinePragma{Start, End}. 
471         Marked GenerateEvent as MonoTODO.
472
473 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
474
475         * CSharpCodeCompiler.cs: add quotes around out assembly name.
476
477 2003-04-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
478
479         * CSharpCodeCompiler.cs:
480         (CompileAssemblyFromDomBatch): add the assemblies referenced by the
481         CodeCompileUnits to the options.
482
483 2003-04-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
484
485         * CSharpCodeCompiler.cs: set NativeCompilerReturnValue.
486
487 2003-04-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
488
489         * CSharpCodeGenerator.cs:
490         (QuoteSnippetString): add a few common escape sequences.
491
492 2003-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
493
494         * CSharpCodeGenerator.cs: implemented GenerateSnippetMember and some
495         little fixes.
496
497 2003-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
498
499         * CSharpCodeGenerator.cs: beautified conditional statements. Implemented
500         GenerateConstructor and GenerateTypeConstructor.
501
502 2003-01-10  Duncan Mak  <duncan@ximian.com>
503
504         * CSharpCodeCompiler.cs: 
505         * CSharpCodeProvider.cs: Patch from Sean Kasun
506         <skasun@azstarnet.com> to implement CSharpCodeCompiler.
507
508 2002-12-07 Jackson Harper <jackson@latitudegeo.com>
509
510         * CompilerError.cs Compiler.cs: Moving these classes to their own assembly
511
512 2002-11-11 Jackson Harper <jackson@latitudegeo.com>
513
514         * CompilerError.cs: Reordered ErrorLevel enumeration to match MS values
515
516 2002-11-11 Jackson Harper <jackson@latitudegeo.com>
517
518         * CompilerError.cs: Error levels are now lower case to match MS spec
519
520 2002-11-9 Jackson Harper <jackson@latitudegeo.com>
521
522         * CompilerError.cs: ToString() Do not show source file info if there was no source file in the error message
523
524 2002-11-6 Jackson Harper <jackson@latitudegeo.com>
525
526         * Compiler.cs: No longers waits untill mcs is finished running to read output, this should prevent
527         crashes from buffers filling up.        
528
529 2002-11-4 Jackson Harper <jackson@latitudegeo.com>
530
531         * Compiler.cs CompilerError.cs: Fixed (C) in header
532         
533 2002-11-4 Jackson Harper <jackson@latitudegeo.com>
534
535         * Compiler.cs: Added file
536
537 2002-11-4 Jackson Harper <jackson@latitudegeo.com>
538
539         * CompilerError.cs: Changed FileName property to the correct name 'SourceFile'
540
541 2002-10-30 Jackson Harper <jackson@latitudegeo.com>
542
543         * CompilerError.cs: Added class
544         
545 2002-10-19  Rachel Hestilow <hestilow@ximian.com>
546
547         * CSharpCodeProvider.cs
548         (GeneratePropertySetValueReferenceExpression): Implement.
549         (GenerateField, GenerateMethod): Only call OutputAttributeDeclarations
550         if there are any attributes.
551         (GenerateProperty): Implement.
552          
553 2002-10-11  Duncan Mak  <duncan@ximian.com>
554
555         * CSharpCodeProvider.cs: Fix constructor visibility.
556
557 2002-05-28  Daniel Stodden <stodden@in.tum.de>
558
559         * ChangeLog: added
560
561         * CSharpCodeProvider.cs: added
562
563         * CSharpCodeGenerator.cs: C# Code Generator. Not fully complete
564         but doing fairly well.