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