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