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