1 2008-04-09 Jb Evain <jbevain@novell.com>
3 * CSharpCodeGenerator.cs: Emit bodyless getters and setters
4 for abstract properties. Based on a patch by
5 Stefan Rusek <stefan@fogcreek.com>
7 2008-02-27 Marek Habersack <mhabersack@novell.com>
9 * CSharpCodeCompiler.cs: use asynchronous method of capturing mcs
10 output in the 2.0+ profile.
12 2008-02-26 Marek Habersack <mhabersack@novell.com>
14 * CSharpCodeCompiler.cs: CompilerResults.Output can now be set
17 2008-02-26 Atsushi Enomoto <atsushi@ximian.com>
19 * CSharpCodeCompiler.cs : build fix.
20 CompilerResults.Output is read only.
22 2008-02-25 Marek Habersack <mhabersack@novell.com>
24 * CSharpCodeCompiler.cs: ignore standard output and report only
25 lines printed to stdandard error to the caller.
27 2008-01-27 Gert Driesen <drieseng@users.sourceforge.net>
29 * CSharpCodeGenerator.cs: Avoid ArgumentNullException when
30 CodeDelegateInvokeExpression.TargetObject is null.
32 2008-01-16 Gert Driesen <drieseng@users.sourceforge.net>
34 * CSharpCodeGenerator.cs: Cosmetic changes to the code emitted for
35 type constraints. Allows our unit tests to pass on both Mono and MS.
37 2008-01-16 Juraj Skripsky <js@hotfeet.ch>
39 * CSharpCodeGenerator.cs (GenerateGenericsConstraints): Take
40 solitary constructor constraints into account. Fixes bug #353921.
42 2008-01-16 Zoltan Varga <vargaz@gmail.com>
44 * CSharpCodeCompiler.cs: Avoid setting results.CompiledAssembly since it might
45 be a netmodule. Fixes #353536.
47 2008-01-14 Marek Habersack <mhabersack@novell.com>
49 * CSharpCodeCompiler.cs: 3.0 is the default version now.
51 2008-01-10 Marek Habersack <mhabersack@novell.com>
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.
58 2007-12-15 Marek Habersack <mhabersack@novell.com>
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
66 * CSharpCodeGenerator.cs: added support for the 2.0sp1 constructor
67 which takes a Dictionary <string, string> parameter with compiler
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).
76 2007-10-26 Atsushi Enomoto <atsushi@ximian.com>
78 * CSharpCodeGenerator.cs : property name was not escaped.
80 2007-02-21 Gert Driesen <drieseng@users.sourceforge.net>
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.
86 2007-01-18 Atsushi Enomoto <atsushi@ximian.com>
88 * CSharpCodeGenerator.cs : for GenericTypeParameter, GetTypeOutput()
89 should just print its name.
90 For generic type definition, print "<>". OutputTypeArguments() was
91 also causing IndexOutOfRangeException.
93 2006-12-30 Marek Habersack <grendello@gmail.com>
95 * CSharpCodeGenerator.cs: implement actual identifier syntax correctness
96 checking, as defined in the C# standard (almost).
98 2006-08-08 Gert Driesen <drieseng@users.sourceforge.net>
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.
104 2006-07-16 Andrew Skiba <andrews@mainsoft.com>
106 * CSharpCodeCompiler.cs: find mono.exe in mono/mini; fixes #78731
108 2006-04-30 Marek Safar <marek.safar@seznam.cz>
110 * CSharpCodeCompiler.cs: mcs does not like /r:"" syntax; fixes #78038.
112 2005-12-07 Gert Driesen <drieseng@users.sourceforge.net>
114 * CSharpCodeGenerator.cs: Override GeneratePrimitiveExpression to
115 match .NET 1.x and 2.0 for float, decimal, char, ushort, uint, ulong
118 2005-11-30 Gert Driesen <drieseng@users.sourceforge.net>
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.
126 2005-11-26 Gert Driesen <drieseng@users.sourceforge.net>
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.
133 2005-11-04 Gert Driesen <drieseng@users.sourceforge.net>
135 * CSharpCodeGenerator.cs: Ignore ChecksumData of CodeChecksumPragma
138 2005-10-29 Sebastien Pouliot <sebastien@ximian.com>
140 * CSharpCodeProvider.cs: GenerateCodeFromMember method is an override
143 2005-10-28 Gert Driesen <drieseng@users.sourceforge.net>
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.
152 2005-10-19 Miguel de Icaza <miguel@novell.com>
154 * CSharpCodeCompiler.cs: Quote the directory, to fix #76469
156 2005-10-17 Sebastien Pouliot <sebastien@ximian.com>
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).
163 2005-10-15 Gert Driesen <drieseng@users.sourceforge.net>
165 * CSharpCodeGenerator.cs: Support C bracing style. Fixes bug #76286.
167 2005-10-07 Gert Driesen <drieseng@users.sourceforge.net>
169 * CSharpCodeGenerator.cs: Fixed supported for type arguments in
170 GetTypeOutput on 2.0 profile. Partial fix for bug #76286.
172 2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
174 * CSharpCodeCompiler.cs: patch from Maksim Vorobiev that prevents
175 InvalidOperationException if the thread running mcs is aborted.
177 2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
179 * CSharpCodeCompiler.cs: made the colon optional so that both mcs and
182 2005-08-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
184 * CSharpCodeCompiler.cs: added missing colon after the line,column
185 parenthesis in the regex that parses the errors to make this work with
188 2005-07-30 Gert Driesen <drieseng@users.sourceforge.net>
190 * CSharpCodeGenerator.cs: Fixed code generated for NewSlot members.
192 2005-07-24 Gert Driesen <drieseng@users.sourceforge.net>
194 * CSharpCodeGenerator.cs: Fixed generated code for enums, interfaces
195 and delegates to match MS.NET.
197 2005-07-02 Gert Driesen <drieseng@users.sourceforge.net>
199 * CSharpCodeGenerator.cs: Fixed output of ReturnTypeCustomAttributes.
201 2005-07-02 Gert Driesen <drieseng@users.sourceforge.net>
203 * CSharpCodeGenerator.cs: Added PrivateImplementationType support
204 for events, properties, methods. No longer output scope modifier
207 2005-06-30 Gert Driesen <drieseng@users.sourceforge.net>
209 * CSharpCodeGenerator.cs: Only consider property an indexer if
210 name is Item (case-insensitive comparison) and property has
213 2005-06-28 Gert Driesen <drieseng@users.sourceforge.net>
215 * CSharpCodeGenerator.cs: Fixed GetTypeOutput to match MS.NET 1.x
218 2005-06-26 Gert Driesen <drieseng@users.sourceforge.net>
220 * CSharpCodeGenerator.cs: Fixed generated code for events, fields,
221 properties, methods and ctors to match MS.NET.
223 2005-06-25 Gert Driesen <drieseng@users.sourceforge.net>
225 * CSharpCodeGenerator.cs: Also modified generated code for type-level
226 attributes to match MS.NET.
228 2005-06-25 Gert Driesen <drieseng@users.sourceforge.net>
230 * CSharpCodeGenerator.cs: Fixed generated code for assembly-level
231 attributes to match code generated by MS.NET.
233 2005-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
235 * CSharpCodeCompiler.cs: use UTF8 in the StreamWriter, as it did before
236 r45802 removed it accidentally. Fixes bug #75361.
238 2005-06-12 Gert Driesen <drieseng@users.sourceforge.net>
240 * CSharpCodeCompiler.cs: Temp source files should have extension
243 2005-06-11 Gert Driesen <drieseng@users.sourceforge.net>
245 * CSharpCodeGenerator.cs: Win32 resources are supported. Fixes bug
247 * CSharpCodeCompiler.cs: Clean up temporary files after compilation.
248 Fixes bug #75221. Added support for Win32 resources. Fixes bug
251 2005-05-29 Gert Driesen <drieseng@users.sourceforge.net>
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.
258 2005-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
260 * CSharpCodeCompiler.cs: fix problem with the output CS8028.
262 2005-02-03 Atsushi Enomoto <atsushi@ximian.com>
264 * CSharpCodeCompiler.cs : On windows, use gmcs under 2.0 profile too.
266 2005-01-19 Jonathan Pryor <jonpryor@vt.edu>
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.
272 2005-01-12 Lluis Sanchez Gual <lluis@novell.com>
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.
278 2004-12-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
284 2004-10-02 Marek Safar <marek.safar@seznam.cz>
286 * CSharpCodeCompiler.cs: Fix #65722.
288 2004-09-14 Marek Safar <marek.safar@seznam.cz>
290 * CSharpCodeGenerator.cs: Fix #65854.
292 2004-09-08 Lluis Sanchez Gual <lluis@novell.com>
294 * CSharpCodeGenerator.cs: Reverted change in GenerateArrayCreateExpression.
295 It was causing regressions.
297 2004-09-06 Marek Safar <marek.safar@seznam.cz>
299 * CSharpCodeGenerator.cs: Implemented NET_2_0 extensions
301 2004-09-01 Marek Safar <marek.safar@seznam.cz>
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.
311 2004-07-21 Lluis Sanchez Gual <lluis@novell.com>
313 * CSharpCodeCompiler.cs: Hack to make code generation work in 2.0.
315 2004-07-13 Peter Williams <peter@newton.cx>
317 * CSharpCodeCompiler.cs (CompileAssemblyFromDomBatch): Include
318 counter in the extension so that batch compilations work.
319 (CompileAssemblyFromSourceBatch): Same.
321 2004-07-12 Fawad Halim <fawad@fawad.net>
323 * CSharpCodeGenerator.cs : Have GenerateField generate field sans the type for enums.
325 2004-06-28 Atsushi Enomoto <atsushi@ximian.com>
327 * CSharpCodeCompiler.cs : (only for windows) First check mcs.bat, then
328 check mcs.exe. It enables xsp working with mono windows installer.
330 2004-06-24 Atsushi Enomoto <atsushi@ximian.com>
332 * CSharpCodeCompiler.cs : On windows we use fixed mono.exe and mcs.exe
333 located by mscorlib.dll.
335 2004-06-23 Jackson Harper <jackson@ximian.com>
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.
341 2004-06-22 Atsushi Enomoto <atsushi@ximian.com>
343 * CSharpCodeGenerator.cs :
344 Check null argument in CreateValidIdentifier().
346 2004-06-21 Atsushi Enomoto <atsushi@ximian.com>
348 * CSharpCodeGenerator.cs : Fix for tests. Check type names in
349 CreateValidIdentifier. Implemented IsValidIdentifier.
351 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
353 * CSharpCodeCompiler.cs: let the TempFileCollection handle the removal
354 of the files if needed.
356 2004-04-26 Atsushi Enomoto <atsushi@ximian.com>
358 * CSharpCodeGenerator.cs : implemented GenerateEvent.
359 Delegate was output as usual class.
361 2004-03-29 Lluis Sanchez Gual <lluis@ximian.com>
363 * CSharpCodeGenerator.cs: In GetTypeOutput, never escape runtime type names.
364 Created a new method GetSafeTypeName to support this.
366 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
368 * CSharpCodeGenerator.cs: patch from Jaroslaw Kowalski that fixes
369 CodeMethodReturnStatement(). Closes bug #54934.
371 2004-02-27 Jaroslaw Kowalski <jaak@zd.com.pl>
373 * CSharpCodeGenerator.cs: fixed static property references
374 in GeneratePropertyReferenceExpression
376 2004-02-10 Jackson Harper <jackson@ximian.com>
378 * CSharpCodeCompiler.cs: Use the temp files collection for
381 2004-02-04 Jackson Harper <jackson@ximian.com>
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.
387 2004-01-21 Atsushi Enomoto <atsushi@ximian.com>
389 * CSharpCodeGenerator.cs: Implemented CreateEscapedIdentifier() and
390 CreateValidIdentifier().
392 2004-01-19 Lluis Sanchez Gual <lluis@ximian.com>
394 * CSharpCodeGenerator.cs: Do not generate access and scope modifiers for
397 2004-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
399 * CSharpCodeCompiler.cs: when generating files from DOM, set the
400 encoding to UTF-8 with BOM marker. Fixes bug #52604.
402 2003-11-12 Lluis Sanchez Gual <lluis@ximian.com>
404 * CSharpCodeCompiler.cs: In BuildArgs, add "--" separator between
405 options and source files.
407 2003-10-15 Lluis Sanchez Gual <lluis@ximian.com>
409 * CSharpCodeGenerator.cs: added override for the method
410 GenerateParameterDeclarationExpression. The parameter must be
411 generated with a safe C# name.
413 2003-09-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
415 * CSharpCodeCompiler.cs: don't leave temporary files around.
417 2003-09-04 Lluis Sanchez Gual <lluis@ximian.com>
419 * CSharpCodeGenerator.cs: Fixed generation of array construction with
420 initializers. Render return type custom attributes.
422 2003-08-15 Jaroslaw Kowalski <jarek@atm.com.pl>
424 * CSharpCodeGenerator.cs:
426 - fixed support for method references where target
428 - fixed CodeThrowExceptionStatement
429 - disabled member access modifiers for private method
431 - disabled generation of empty method body for interface
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
439 2003-08-05 Lluis Sanchez Gual <lluis@ximian.com>
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
446 2003-08-05 Lluis Sanchez Gual <lluis@ximian.com>
448 * CSharpCodeGenerator.cs: GenerateComment(): Render multiline comments.
450 2003-07-30 Lluis Sanchez Gual <lluis@ximian.com>
452 * CSharpCodeGenerator.cs: GenerateTypeStart(): Write type custom attributes
454 2003-07-06 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
456 * CSharpCodeCompiler.cs: Few fixes for update in CodeDom.Compiler
458 2003-07-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
460 * CSharpCodeCompiler.cs: ignore debug statistics in mcs output when
463 2003-07-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
465 * CSharpCodeCompiler.cs: patch from pelle.johnsen@mail.dk (Pelle
466 Johnsen) that fixes bug #45708.
468 2003-05-17 Ben Maurer <bmaurer@users.sourceforge.net>
470 * CSharpCodeGenerator.cs: implemented GenerateLinePragma{Start, End}.
471 Marked GenerateEvent as MonoTODO.
473 2003-04-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
475 * CSharpCodeCompiler.cs: add quotes around out assembly name.
477 2003-04-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
479 * CSharpCodeCompiler.cs:
480 (CompileAssemblyFromDomBatch): add the assemblies referenced by the
481 CodeCompileUnits to the options.
483 2003-04-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
485 * CSharpCodeCompiler.cs: set NativeCompilerReturnValue.
487 2003-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
489 * CSharpCodeGenerator.cs:
490 (QuoteSnippetString): add a few common escape sequences.
492 2003-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
494 * CSharpCodeGenerator.cs: implemented GenerateSnippetMember and some
497 2003-04-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
499 * CSharpCodeGenerator.cs: beautified conditional statements. Implemented
500 GenerateConstructor and GenerateTypeConstructor.
502 2003-01-10 Duncan Mak <duncan@ximian.com>
504 * CSharpCodeCompiler.cs:
505 * CSharpCodeProvider.cs: Patch from Sean Kasun
506 <skasun@azstarnet.com> to implement CSharpCodeCompiler.
508 2002-12-07 Jackson Harper <jackson@latitudegeo.com>
510 * CompilerError.cs Compiler.cs: Moving these classes to their own assembly
512 2002-11-11 Jackson Harper <jackson@latitudegeo.com>
514 * CompilerError.cs: Reordered ErrorLevel enumeration to match MS values
516 2002-11-11 Jackson Harper <jackson@latitudegeo.com>
518 * CompilerError.cs: Error levels are now lower case to match MS spec
520 2002-11-9 Jackson Harper <jackson@latitudegeo.com>
522 * CompilerError.cs: ToString() Do not show source file info if there was no source file in the error message
524 2002-11-6 Jackson Harper <jackson@latitudegeo.com>
526 * Compiler.cs: No longers waits untill mcs is finished running to read output, this should prevent
527 crashes from buffers filling up.
529 2002-11-4 Jackson Harper <jackson@latitudegeo.com>
531 * Compiler.cs CompilerError.cs: Fixed (C) in header
533 2002-11-4 Jackson Harper <jackson@latitudegeo.com>
535 * Compiler.cs: Added file
537 2002-11-4 Jackson Harper <jackson@latitudegeo.com>
539 * CompilerError.cs: Changed FileName property to the correct name 'SourceFile'
541 2002-10-30 Jackson Harper <jackson@latitudegeo.com>
543 * CompilerError.cs: Added class
545 2002-10-19 Rachel Hestilow <hestilow@ximian.com>
547 * CSharpCodeProvider.cs
548 (GeneratePropertySetValueReferenceExpression): Implement.
549 (GenerateField, GenerateMethod): Only call OutputAttributeDeclarations
550 if there are any attributes.
551 (GenerateProperty): Implement.
553 2002-10-11 Duncan Mak <duncan@ximian.com>
555 * CSharpCodeProvider.cs: Fix constructor visibility.
557 2002-05-28 Daniel Stodden <stodden@in.tum.de>
561 * CSharpCodeProvider.cs: added
563 * CSharpCodeGenerator.cs: C# Code Generator. Not fully complete
564 but doing fairly well.