2005-07-11 Martin Baulig <martin@ximian.com>
[mono.git] / mcs / class / corlib / System.Reflection.Emit / ChangeLog
1 2005-07-11  Martin Baulig  <martin@ximian.com>
2
3         * TypeBuilder.cs (TypeBuilder.CreateType): Call
4         create_generic_class() here as well; fixes #75454.
5
6 2005-06-27  Marek Safar  <marek.safar@seznam.cz>
7
8         * TypeBuilder.cs (check_name): Wrong exception argument order.\r
9 \r
10 2005-06-14  Sebastien Pouliot  <sebastien@ximian.com>
11
12         * AssemblyBuilder.cs: Override UnprotectedGetName to set the public 
13         key (if available).
14
15 2005-06-12  Gert Driesen <drieseng@users.sourceforge.net>
16
17         * MethodBuilder.cs: In CreateMethodBody, throw 
18         ArgumentOutOfRangeException instead of ArgumentException when count 
19         is not within range of array. Do not allow zero length method body 
20         to be emitted when using 2.0 profile. Fixes bug #75236.
21
22 2005-06-12  Gert Driesen <drieseng@users.sourceforge.net>
23
24         * FieldBuilder.cs: FieldBuilder.FieldHandle should throw
25         NotSupportedException to match MS.NET (both 1.x and 2.x). 
26         Fixes regression introduced in r45750.
27         * MethodBuilder.cs: MethodBuilder.MethodHandle should throw
28         NotSupportedException to match MS.NET (both 1.x and 2.x).
29         Fixes regression introduced in r45750.
30
31 2005-06-09  Kamil Skalski <nazgul@nemerle.org>
32         * ConstructorBuilder.cs FieldBuilders.cs MethodBuilder.cs: Return
33         RuntimeHandles when requested
34         
35         * TypeBuilder.cs: Add static Get{Method,Constructor,Field} methods
36         from .NET 2.0 beta 2 API for obtaining instanciated *Info objects
37         from non-instanciated counterparts 
38
39 2005-06-08  Zoltan Varga  <vargaz@freemail.hu>
40
41         * ConstructorBuilder.cs FieldBuilder.cs MethodBuilder.cs PropertyBuilder.cs:
42         Add 2.0 Module property.
43
44         * *.cs: Updates for net 2.0 beta 2.
45
46 2005-06-07  Zoltan Varga  <vargaz@freemail.hu>
47
48         * *Token.cs: Add net 2.0 Equals methods.
49
50         * *.cs: Updates for net 2.0 beta 2.
51
52         * *.cs: Updates for net 2.0 beta 2.
53
54 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
55
56         * AssemblyBuilder.cs: Update after PortableExecutableKinds name change.
57
58 2005-06-03  Zoltan Varga  <vargaz@freemail.hu>
59
60         * MethodBuilder.cs CustomAttributeBuilder.cs: Rework DllImportAttribute
61         decoding to improve compatibility with MS.NET.
62         
63         * MethodBuilder.cs (SetCustomAttribute): Set PinvokeImpl attribute if
64         a DllImportAttribute is present.
65
66 2005-06-02  Zoltan Varga  <vargaz@freemail.hu>
67
68         * MethodBuilder.cs (SetCustomAttribute): Handle the case when the
69         calling convention inside the DllImportAttribute is empty.
70
71 2005-06-01  Zoltan Varga  <vargaz@freemail.hu>
72
73         * MethodBuilder.cs (SetCustomAttribute): Handle DllImportAttribute
74         as well.
75
76         * CustomAttributeBuilder.cs: Add a decode_cattr helper method.
77
78 2005-05-27  Vladimir Vukicevic  <vladimir@pobox.com>
79
80         * MethodBuilder.cs: Add extra_flags field to encode P/Invoke
81         bits that can't be specified via MethodBuilder directly; fixes
82         #75060.
83
84 2005-05-25  Zoltan Varga  <vargaz@freemail.hu>
85
86         * GenericTypeParameterBuilder.cs: Return this in UnderlyingSystemType.
87
88 2005-05-25  Lluis Sanchez Gual  <lluis@novell.com>
89
90         * ModuleBuilder.cs: Implemented DefineDocument(). Generate debug
91         info when saving the module.
92         * ILGenerator.cs: Keep marked sequence points in a list.
93         Added a GenerateDebugInfo method, which dumps the info collected
94         during code generation.
95         * TypeBuilder.cs:
96         * ConstructorBuilder.cs:
97         * MethodBuilder.cs: Added method for generating debug info.
98         * LocalBuilder.cs: Added StartOffset and EndOffset properties.
99         * CustomAttributeBuilder.cs: Use IsInstanceOfType instead of
100         IsAssignableFrom when possible.
101
102 2005-05-20  Miguel de Icaza  <miguel@novell.com>
103
104         * TypeBuilder.cs (UnderlyingSystemType): should always return this
105         according to Zoltan.  Old code left there, but should probably be removed.
106
107 2005-05-13  Zoltan Varga  <vargaz@freemail.hu>
108
109         * MethodBuilder.cs (fixup): Take into account CreateMethodBody as
110         well.
111
112         * ConstructorBuilder.cs MethodBuilder.cs: Check that elements of
113         parameterTypes are not null. Fixes #74928.
114
115 2005-05-12  Zoltan Varga  <vargaz@freemail.hu>
116
117         * ConstructorBuilder.cs MethodBuilder.cs (fixup): Fix this.
118         
119         * ConstructorBuilder.cs MethodBuilder.cs (fixup): Throw an exception if a
120         method body is empty. Fixes #74906.
121
122 2005-04-13  Marek Safar  <marek.safar@seznam.cz>
123
124         * TypeBuilder.cs (SetCustomAttribute): StructLayoutAttribute.CharSet
125         has to overwrite current settings.
126
127 2005-04-05  Sebastien Pouliot  <sebastien@ximian.com>
128
129         * AssemblyBuilder.cs: Don't call GetCurrentDirectory if building an 
130         assembly that will never be serialized to disk (because CAS may not
131         allow disk access but still allow generating a in-memory assembly).
132
133 2005-03-24  Miguel de Icaza  <miguel@novell.com>
134
135         * DynamicMethod.cs (CreateDelegate): Add second overload based on
136         the first one that allows for a `target' argument.
137
138 2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
139
140         * MethodRental.cs: Added Demand for UnmanagedCode on SwapMethodBody 
141         method.
142
143 2005-03-16  Zoltan Varga  <vargaz@freemail.hu>
144
145         * MethodBuilder.cs: Add internal BestFitMapping and 
146         ThrowOnUnmappableChar properties used by mcs.
147
148 2005-03-09  Marek Safar  <marek.safar@seznam.cz>
149
150         * ILGenerator.cs (DeclareLocal): Throw an exception for null argument.
151
152 2005-03-01  Zoltan Varga  <vargaz@freemail.hu>
153
154         * CustomAttributeBuilder.cs UnmanagedMarshal.cs: Allow sizeConst and
155         sizeParamIndex to be -1, which means they are not given.
156         
157         * CustomAttributeBuilder.cs (get_umarshal): Only call the internal
158         LPArray creation method if sizeConst of sizeParamIndex is given.
159
160         * UnmanagedMarshal.cs: Add has_size field.
161
162 2005-02-28  Zoltan Varga  <vargaz@freemail.hu>
163
164         * CustomAttributeBuilder.cs (get_umarshal): Marshal sizeConst and
165         sizeParamIndex fields as well.
166
167         * UnmanagedMarshal.cs: Add param_num field and a new internal creation
168         method which sets it.
169
170 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
171
172         * TypeBuilder.cs (IsAssignableTo): New helper method. Fixes #70838.
173         
174         * TypeBuilder.cs: Fix warning.
175
176 2005-01-21 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
177         
178         * MethodBuilder.cs, TypeBuilder: missing 'params' in some method signature
179         patch by Kamil Skalski <nazgul@nemerle.org>
180
181 2005-01-18  Geoff Norton  <gnorton@customerdna.com>
182
183         * ModuleBuilder.cs: Interfaces should have null BaseType.
184         Fixes #71301.
185
186 2005-01-18  Miguel de Icaza  <miguel@ximian.com>
187
188         * TypeBuilder.cs: Add check for creation.  Fix from Geoff.
189
190 2004-12-16  Zoltan Varga  <vargaz@freemail.hu>
191
192         * CustomAttributeBuilder.cs: Fix a warning.
193
194 Wed Dec 15 11:34:13 CET 2004 Paolo Molaro <lupus@ximian.com>
195
196         * ModuleBuilder.cs, EnumBuilder.cs: actually add the enumbuilder
197         to the type list of the module (bug#70488).
198
199 2004-12-09  Martin Baulig  <martin@ximian.com>
200
201         * GenericTypeParameterBuilder.cs
202         (GenericTypeParameterBuilder.IsValueType): Fixed the FIXME.
203
204 2004-12-08  Zoltan Varga  <vargaz@freemail.hu>
205
206         * AssemblyBuilder.cs: Move corlib_internal field here from Assembly.
207         
208         * AssemblyBuilder.cs: Add corlib_internal to the ctor parameters.
209
210 2004-12-06  Ben Maurer  <bmaurer@ximian.com>
211
212         * TypeBuilder.cs (CreateType): Creating a type twice does not
213         throw in msft.
214
215 2004-11-22  Zoltan Varga  <vargaz@freemail.hu>
216
217         * ModuleBuilder.cs: Check that all types inside the module are created.
218         Fixes #69780.
219
220 2004-11-13  Ben Maurer  <bmaurer@ximian.com>
221
222         * ModuleBuilder.cs (Save): Use new WriteToFile icall.
223
224 2004-11-04  Zoltan Varga  <vargaz@freemail.hu>
225
226         * TypeBuilder.cs: Make some members work if the type is created since
227         MS does this.
228
229 2004-10-30  Zoltan Varga  <vargaz@freemail.hu>
230
231         * CustomAttributeBuilder.cs: Check that arguments are not 
232         multi-dimensional arrays.
233
234 2004-10-12  Martin Baulig  <martin@ximian.com>
235
236         * TypeBuilder.cs (TypeBuilder.setup_generic_class): Renamed to
237         create_generic_class() and added a new setup_generic_class().
238         (TypeBuilder.DefineGenericParameters): Call setup_generic_class()
239         before creating the type parameters.
240
241 2004-10-11  Martin Baulig  <martin@ximian.com>
242
243         * TypeBuilder.cs (TypeBuilder.generic_container): New private field.
244
245         * MethodBuilder.cs (MethodBuilder.generic_container): New private field.
246
247         * GenericTypeParameterBuilder.cs
248         (GenericTypeParameterBuilder.GetGenericTypeParameterConstraints):
249         Return `Type.EmptyTypes' instead of an array of `typeof (object)'.      
250
251 2004-10-08  Zoltan Varga  <vargaz@freemail.hu>
252
253         * ModuleBuilder.cs: Create global type after creation.
254
255 2004-10-06  Zoltan Varga  <vargaz@freemail.hu>
256
257         * ModuleBuilder.cs (GetTypes): Fix length of returned array. Fixes
258         #65931.
259
260 2004-10-04  Zoltan Varga  <vargaz@freemail.hu>
261
262         * ModuleBuilder.cs (DefineType): Check for duplicate type names. Fixes
263         #65988.
264
265 2004-10-03  Zoltan Varga  <vargaz@freemail.hu>
266
267         * AssemblyBuilderAccess.cs: Remove [Flags].
268
269         * PackingSize.cs: Add new 2.0 members. Remove [Flags].
270
271         * AssemblyBuilder.cs: Add net 2.0 Save method.
272
273         * LocalBuilder.cs: Make this inherit from LocalVariableInfo under
274         net 2.0. Reorganize fields so the layout visible to the runtime is the
275         same under 1.0 and 2.0. Add 2.0 properties.
276
277 2004-10-02  Gert Driesen  <drieseng@users.sourceforge.net>
278
279         * TypeBuilder.cs: throw NotSupportedException when defining default
280         ctor if parent type does not have default ctor
281
282 2004-09-30  Zoltan Varga  <vargaz@freemail.hu>
283
284         * TypeBuilder.cs: Make 'created' field visible to the runtime.
285
286 2004-09-28  Martin Baulig  <martin@ximian.com>
287
288         * GenericTypeParameterBuilder.cs
289         (GenericTypeParameterBuilder.ContainsGenericParameters): Return
290         true here; System.Type.ContainsGenericParameters returns true when
291         called on a type parameter, so let's do the same here.
292
293 2004-09-27  Zoltan Varga  <vargaz@freemail.hu>
294
295         * ConstructorBuilder.cs: Add 2.0 GetILGenerator(size) method.
296
297 2004-09-26  Zoltan Varga  <vargaz@freemail.hu>
298
299         * UnmanagedMarshal.cs: Add ToMarshalAsAttribute method.
300
301 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
302
303         * TypeBuilder.cs: Add IsCreated method.
304
305 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
306
307         * FieldBuilder.cs: Add dummy GetFieldOffset method.
308
309 2004-09-24  Martin Baulig  <martin@ximian.com>
310
311         * GenericTypeParameterBuilder.cs
312         (GenericTypeParameterBuilder.GetGenericParameterConstraints): Override.
313
314 2004-09-23  Zoltan Varga  <vargaz@freemail.hu>
315
316         * DynamicMethod.cs: Add MetadataToken property and tweak Module property.
317
318 2004-09-23  Martin Baulig  <martin@ximian.com>
319
320         * GenericTypeParameterBuilder.cs
321         (GenericTypeParameterBuilder.SetGenericParameterAttributes): New
322         public method, replaces the old Mono_* hacks.
323
324 2004-09-20  Sebastien Pouliot  <sebastien@ximian.com>
325
326         * AssemblyBuilder.cs: Fixed assembly-level permissions. I don't know 
327         why I splitted them all into individual entries when only a single set
328         is accepted for each security action :(.
329
330 2004-09-17  Zoltan Varga  <vargaz@freemail.hu>
331
332         * CustomAttributeBuilder.cs: Applied patch from Marcus Urban
333         (mathpup@mylinuxisp.com). Add support for defining custom
334         marshallers by calling SetCustomAttribute.      
335
336 2004-09-16  Sebastien Pouliot  <sebastien@ximian.com>
337
338         * AssemblyBuilder.cs: Keep a copy of the 3 permission set as an array
339         of RefEmitPermissionSet. This will allow to reuse existing 
340         functionalities already present in the runtime.
341
342 2004-09-12  Marek Safar  <marek.safar@seznam.cz>
343
344         * TypeBuilder.cs: Do not create default constructor for
345         static classes.
346
347 2004-09-09  Zoltan Varga  <vargaz@freemail.hu>
348
349         * TypeBuilder.cs: Set the table_idx of the global type to 1.
350
351         * ModuleBuilder.cs: Save the main module of the assembly even if it is 
352         transient.
353
354 2004-09-02 Ben Maurer  <bmaurer@users.sourceforge.net>
355
356         * LocalBuilder.cs: another s.ioe
357
358 2004-09-02 Ben Maurer  <bmaurer@users.sourceforge.net>
359
360         * ModuleBuilder.cs: dont throw an S.IOE for debugging stuff.
361         makes sre apps work
362
363 2004-09-02  Martin Baulig  <martin@ximian.com>
364
365         * MethodBuilder.cs (MethodBuilder.GetParameters): Throw a
366         NotSupportedException() until the type has been fully created.
367
368 2004-09-01  Martin Baulig  <martin@ximian.com>
369
370         * IMonoSymbolWriter.cs: Removed.
371
372         * ModuleBuilder.cs, LocalBuilder.cs, ILGenerator.cs: Removed the
373         old debugging code.
374
375 2004-08-13  Sebastien Pouliot  <sebastien@ximian.com>
376
377         * AssemblyBuilder.cs: (Partly) Fix delay-signing issue (#56621) when 
378         MCS is used on the MS runtime (other part of the fix is for MCS).
379
380 2004-08-11  Marek Safar  <marek.safar@seznam.cz>
381
382         * AssemblyBuilder.cs: Added AddPermissionRequests method
383         used be mcs for SecurityPermissionAttribute handling.
384
385 2004-08-08  Zoltan Varga  <vargaz@freemail.hu>
386
387         * EnumBuilder.cs: Call setup_enum_type () in the constructor. Fixes
388         #62237.
389
390 2004-08-07  Jackson Harper  <jackson@ximian.com>
391
392         * AssemblyBuilder.cs: "neutral" culture is invariant culture
393         (String.Empty).
394
395 2004-08-07  Atsushi Enomoto  <atsushi@ximian.com>
396
397         * OpCodes.cs : csc complains CS1034 Line cannot exceed 2046 characters.
398
399 2004-08-05  Duncan Mak  <duncan@ximian.com>
400
401         * OpCodes.cs (TakesSingleByteArgument): Add this back.
402
403 2004-08-05  Duncan Mak  <duncan@ximian.com>     
404
405         This patch is based on an idea of Ben's to reduce the code size
406         in MCS. 
407
408         * OpCodes.cs: Instead pushing the data onto the stack when each
409         OpCode is initialized, pack the data into 2 ints and store only
410         that.  Furthermore, the names of each OpCode are stored in a
411         separate string array in the new OpCodeNames class.
412
413         * OpCodeNames.cs: The names of each OpCode are moved here to delay
414         the initialization of the strings, as they are not used frequently.
415
416         * OpCode.cs: Rewrote this to take in everything as 2 ints.
417
418 2004-07-29  Martin Baulig  <martin@ximian.com>
419
420         * ILGenerator.cs (ILGenerator.Mono_GetCurrentOffset): New static
421         internal method.
422
423         * ModuleBuilder.cs (ModuleBuilder.Mono_GetGuid): New static
424         internal method.
425
426 2004-07-24  Martin Baulig  <martin@ximian.com>
427
428         * TypeBuilder.cs (TypeBuilder.UnspecifiedTypeSize): Set this to 0
429         and initialize it to 0 everywhere.
430
431 2004-07-22  Martin Baulig  <martin@ximian.com>
432
433         * ILGenerator.cs (ILGenerator.BeginFaultBlock): Implemented.
434
435 2004-07-07  Miguel de Icaza  <miguel@ximian.com>
436
437         * LocalBuilder.cs: Remove MakePinned, we are now going to use
438         ILGenerator.DeclaraLocal that takes the `bool pinned' argument. 
439
440         * ILGenerator.cs (DeclareLocal): Add `pinned' version of the
441         method on the 2.0 profile.
442
443 2004-07-02  Zoltan Varga  <vargaz@freemail.hu>
444
445         * EnumBuilder.cs (CreateType): Call a new icall to set the internal
446         type field. Fixes #59833.
447
448 Thu Jun 24 15:33:04 CEST 2004 Paolo Molaro <lupus@ximian.com>
449
450         * ParameterBuilder.cs: implement SetConstant ().
451
452 Wed Jun 23 15:40:48 CEST 2004 Paolo Molaro <lupus@ximian.com>
453
454         * TypeBuilder.cs: handle properly the case when SetParent() 
455         is called (requires an updated runtime, too bug#60474).
456
457 Wed Jun 23 14:20:47 CEST 2004 Paolo Molaro <lupus@ximian.com>
458
459         * EnumBuilder.cs, TypeBuilder.cs: patch from Gert Driesen
460         to implement EnumBuilder (slightly tweaked).
461
462 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
463
464         * MethodRental.cs: fixed value of JitOnDemand
465
466 2004-06-09  Gert Driesen <drieseng@users.sourceforge.net>
467
468         * FieldBuilder.cs: fixed implementation to match MS.NET,
469         meaning throw InvalidOperationException for methods that
470         should not be allowed to execute when type has been
471         created, and throw NotSupportedException for methods and
472         properties that should not be called on FieldBuilder
473
474 2004-06-09  Gert Driesen <drieseng@users.sourceforge.net>
475
476         * MethodBuilder.cs: move check to see if type has already 
477         been created up, to match MS.NET behaviour. Fix GetHashCode 
478         (removed TODO)
479
480 2004-06-09  Gert Driesen <drieseng@users.sourceforge.net>
481
482         * MethodRental.cs: Added check for method size
483
484 2004-06-08  Martin Baulig  <martin@ximian.com>
485
486         * ILGenerator.cs (TokenGenerator.GetToken): Added overloaded
487         version which takes a MethodInfo and a Type[].
488         (IlGenerator.EmitCall): When emitting a call to a varargs method,
489         use the new GetToken() to pass the optional argument types to the
490         runtime.
491
492         * ModuleBuilder.cs (ModuleBuilder.getMethodToken): New interncall.
493
494 2004-05-29  Gert Driesen (drieseng@users.sourceforge.net)
495
496         * AssemblyBuilder.cs: removed extra method, fixes public API
497         compatibility with MS.NET
498         * TypeBuilder.cs: removed extra method, fixes public API
499         compatibility with MS.NET
500
501 2004-05-28  Jackson Harper  <jackson@ximian.com>
502
503         * CustomAttributeBuilder.cs: GetBlob now takes a ref to the
504         assembly so it can encode type names properly.
505         
506 2004-05-25  Sebastien Pouliot  <sebastien@ximian.com>
507
508         * MethodBuilder.cs: Now use FastNewGuidArray to create new random 
509         Guids without using CryptoConfig. Speed up for MCS.
510
511 2004-05-14  Zoltan Varga  <vargaz@freemail.hu>
512
513         * MethodBuilder.cs: Add Equals and GetHashCode.
514
515         * TypeBuilder.cs: Add IsSubclassOf.
516
517 2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
518
519         * AssemblyBuilder.cs: Make extra methods internal. mcs was changed
520         to handle this a long time ago.
521
522         * TypeBuilder.cs: Add IsAssignableFrom and IsInstanceOfType.
523         
524         * TypeBuilder.cs MethodBuilder.cs ConstructorBuilder.cs: Implement
525         ToString ().
526
527         * TypeBuilder.cs (ToString): Make this consistent with MS.NET.
528
529 2004-05-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
530
531         * OpCodes.cs: Refactored to avoid the static constructor
532
533 2004-05-10  Gert Driesen (drieseng@users.sourceforge.net)
534         * AssemblyBuilder.cs: fixed warning
535         * MethodRental.cs: added private default ctror to match MS.NET
536
537 2004-05-03 Lluis Sanches Gual  <lluis@ximian.com>
538
539         * ModuleBuilder.cs: Use name const to load the debugger assembly.
540
541 2004-05-01  Todd Berman  <tberman@sevenl.net>
542
543         * ModuleBuilder.cs: Load the proper assembly for a gac-only install.
544
545 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
546
547         * ILGenerator.cs, ModuleBuilder.cs: readonlyificate.
548
549 2004-04-28  Zoltan Varga  <vargaz@freemail.hu>
550
551         * MethodRental.cs: New file.
552
553 2004-04-28  Raja R Harinath  <rharinath@novell.com>
554
555         * TypeBuilder.cs (SetCustomAttribute): Handle the presence of the
556         full type name in the data stream.  This is emitted for value
557         types by the Mono runtime.
558
559 2004-04-23  Atsushi Enomoto  <atsushi@ximian.com>
560
561         * ConstructorBuilder.cs, DynamicMethod.cs, EnumBuilder.cs,
562           GenericTypeParameterBuilder.cs, MethodBuilder.cs, ModuleBuilder.cs,
563           OpCodes.cs, TypeBuilder.cs :
564           The fix should be easier ;)
565
566 2004-04-23  Atsushi Enomoto  <atsushi@ximian.com>
567
568         * ConstructorBuilder.cs, DynamicMethod.cs, EnumBuilder.cs,
569           GenericTypeParameterBuilder.cs, MethodBuilder.cs, ModuleBuilder.cs,
570           OpCodes.cs, TypeBuilder.cs :
571           NET_2_0 related build fix.
572
573 2004-04-07  Martin Baulig  <martin@ximian.com>
574
575         * GenericTypeParameterBuilder.cs
576         (Mono_SetReferenceTypeConstraint): New public method.
577         (Mono_SetValueTypeConstraint): New public method.
578
579 2004-04-07  Bernie Solomon  <bernard@ugsolutions.com>
580
581         * MethodBuilder.cs, TypeBuilder.cs: always have 
582         slot for generic_params for consistent offsets.
583
584 2004-04-07  Martin Baulig  <martin@ximian.com>
585
586         * GenericTypeParameterBuilder.cs
587         (Mono_SetConstructorConstraint): New public method.     
588
589 2004-04-07  Martin Baulig  <martin@ximian.com>
590
591         * GenericTypeParameterBuilder.cs: New file.
592
593         * TypeBuilder.cs (TypeBuilder.DefineGenericParameters): New public
594         method.  This is the new public API.
595         (TypeBuilder.DefineGenericParameter): Removed.
596         (TypeBuilder.SetGenericParameterConstraints): Removed.
597
598         * MethodBuilder.cs (MethodBuilder.DefineGenericParameters): New public
599         method.  This is the new public API.
600         (MethodBuilder.DefineGenericParameter): Removed.
601         (MethodBuilder.SetGenericParameterConstraints): Removed.
602
603 2004-04-01  Martin Baulig  <martin@ximian.com>
604
605         * OpCodes.cs (OpCodes.Constrained): New opcode.
606
607 2004-04-01 Ben Maurer  <bmaurer@users.sourceforge.net>
608
609         * LocalBuilder.cs: Fix pinned support.
610
611 2004-03-30  Martin Baulig  <martin@ximian.com>
612
613         * TypeBuilder.cs (TypeBuilder.SetGenericParameterConstraints):
614         Added `bool has_ctor_constraint' argument.
615
616         * MethodBuilder.cs (MethodBuilder.SetGenericParameterConstraints):
617         Added `bool has_ctor_constraint' argument.
618
619 2004-03-29 Ben Maurer  <bmaurer@users.sourceforge.net>
620
621         * LocalBuilder.cs: pinned support.
622
623 2004-03-29  Martin Baulig  <martin@ximian.com>
624
625         * TypeBuilder.cs (TypeBuilder.ContainsGenericParameters): Implemented.
626
627 2004-03-25  Sebastien Pouliot  <sebastien@ximian.com>
628
629         * AssemblyBuilder.cs: Changed strongname support to match MS 
630         implementation (i.e. attributes are used by the compiler - not by
631         AssemblyBuilder).
632
633 2004-03-24  Zoltan Varga  <vargaz@freemail.hu>
634
635         * TypeBuilder.cs (GetMethod): Implement.
636
637         * CustomAttributeBuilder.cs: Reenable argument checking with MS.NET
638         compatibility tweaks.
639
640 2004-03-23  Martin Baulig  <martin@ximian.com>
641
642         * TypeBuilder.cs (TypeBuilder.GetEvents_internal): New internal
643         method; this is basically GetEvents(), but see the FIXME in that method.
644
645 2004-03-23  Zoltan Varga  <vargaz@freemail.hu>
646
647         * CustomAttributeBuilder.cs: Disable argument checking since it causes
648         regressions.
649
650 2004-03-22  Zoltan Varga  <vargaz@freemail.hu>
651
652         * CustomAttributeBuilder.cs (Initialize): Add more argument checking. 
653         Fixes #55793.
654
655 2004-03-09  Jackson Harper  <jackson@ximian.com>
656
657         * CustomAttributeBuilder.cs: Add some argument checking. Handle
658         default arguments properly.
659
660 2004-03-09  Sebastien Pouliot  <spouliot@videotron.ca>
661
662         * AssemblyBuilder.cs: The strong name key file existance will now be
663         checked in the current compilation directory AND in the assembly
664         output directory. Fix bugzilla entry #55320.
665
666 2004-02-23  Martin Baulig  <martin@ximian.com>
667
668         * MethodBuilder.cs (MethodBuilder.SetGenericMethodSignature):
669         Added MethodAttributes and CallingConventions arguments.
670
671 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
672
673         * TypeBuilder.cs: Implement DefineUninitializedData and 
674         AddDeclarativeSecurity.
675
676 2004-01-27  Zoltan Varga  <vargaz@freemail.hu>
677
678         * AssemblyBuilder.cs (SetCustomAttribute): Move the reading of the
679         keyfile to the Save () method.
680
681 2004-01-26  Sebastien Pouliot  <spouliot@videotron.ca>
682
683         * AssemblyBuilder.cs: Save will now strongname the assembly is (a) a
684         StrongName is present and (b) the signature isn't delayed.
685
686 2004-01-24 David Sheldon <dave-mono@earth.li>
687
688         * AssemblyBuilder.cs: Added override for GetFiles() that throws
689           NotSupportedException. 
690
691 2004-01-15  Zoltan Varga  <vargaz@freemail.hu>
692
693         * AssemblyBuilder.cs (Save): Handle entry points with an int return
694         type as well.
695         
696         * AssemblyBuilder.cs (Save): If the entry point is in a module, create
697         a new entry point which calls the real one, since the entry point must
698         be in the module which contains the manifest.
699
700         * ModuleBuilder.cs (Save): Create the global type automatically if not
701         already done.
702
703 2004-01-13  Zoltan Varga  <vargaz@freemail.hu>
704
705         * AssemblyBuilder.cs (DefineVersionInfoResource): Set more 
706         version info properties.
707
708 2004-01-08  Zoltan Varga  <vargaz@freemail.hu>
709
710         * CustomAttributeBuilder.cs (string_arg): New helper method.
711
712         * AssemblyBuilder.cs (DefineVersionInfoResource): Implement.
713
714         * AssemblyBuilder.cs (SetCustomAttribute): Use the new helper method.
715
716         * AssemblyBuilder.cs (DefineUnmanagedResource): Implement.
717
718         * AssemblyBuilder.cs (DefineIconResource): New internal method to
719         support mcs.
720
721         * TypeBuilder.cs (IsDefined): Implement this, since some corlib classes
722         make calls to IsDefined.
723
724 2004-01-06  Zoltan Varga  <vargaz@freemail.hu>
725
726         * AssemblyBuilder.cs: Fix warning.
727
728 2004-01-05  Zoltan Varga  <vargaz@freemail.hu>
729
730         * AssemblyBuilder.cs (DefineVersionInfoResource): Implement.
731
732 2003-12-29 Ben Maurer  <bmaurer@users.sourceforge.net>
733
734         * MethodBuilder.cs, ConstructorBuilder.cs: Override GetParameterCount.
735         * ILGenerator.cs: Use GetParameterCount.
736
737 2003-12-20  Zoltan Varga  <vargaz@freemail.hu>
738
739         * AssemblyBuilder.cs (AddModule): New internal method to support 
740         /addmodule in mcs.
741
742 2003-12-19  Zoltan Varga  <vargaz@freemail.hu>
743
744         * AssemblyBuilder.cs: New internal property to support /target:module in
745         mcs.
746
747 2003-12-18  Zoltan Varga  <vargaz@freemail.hu>
748
749         * ILGenerator.cs: Applied patch from Ben Maurer 
750         (bmaurer@users.sourceforge.net). Allocate arrays holding label data
751         lazily and reduce their size.
752
753 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
754
755         * AssemblyBuilder.cs (MonoResource): New 'offset' field used by the
756         runtime.
757
758         * ModuleBuilder: Implement DefineResource.
759
760 2003-12-15  Zoltan Varga  <vargaz@freemail.hu>
761
762         * AssemblyBuilder.cs (RefEmitPermissionSet): New helper structure.
763         
764         * MethodBuilder.cs (AddDeclarativeSecurity): Implement.
765
766         * ConstructorBuilder.cs (AddDeclarativeSecurity): Ditto.
767
768 2003-12-10  Zoltan Varga  <vargaz@freemail.hu>
769
770         * MethodBuilder.cs: Add stubs for missing methods.
771
772         * TypeBuilder.cs (GetEvents): Add new override.
773
774         * ModuleBuilder.cs: Implement some missing methods, add stubs for others.
775
776         * AssemblyBuilder.cs (GetFiles): Get rid of unneccessary override.
777
778         * AssemblyBuilder.cs (ImageRuntimeVersion): Add override to keep
779         signature compatibility with MS.NET.
780
781         * TypeBuilder.cs (MemberType): Get rid of unneccessary override.
782
783 2003-12-08  Martin Baulig  <martin@ximian.com>
784
785         * TypeBuilder.cs (TypeBuilder.MonoGenericParam): Removed; use the
786         new `MonoGenericParam' class instead (in S.R/MonoGenericInst.cs).
787
788 2003-12-08  Zoltan Varga  <vargaz@freemail.hu>
789
790         * ModuleBuilder.cs: Double the size of the types array during insertion
791         do avoid excessive memory allocation and copying. Track the number of
792         types in a separate variable.
793
794         * TypeBuilder.cs: Same for the 'fields' and 'methods' arrays.
795
796 2003-12-03  Zoltan Varga  <vargaz@freemail.hu>
797
798         * ModuleBuilder.cs (DefinePInvokeMethod): Implement.
799
800         * ModuleBuilder.cs (DefineGlobalMethod): Implement the Net 1.2 variants.
801
802 2003-11-28  Dick Porter  <dick@ximian.com>
803
804         * ModuleBuilder.cs: Do string compares with the Invariant culture.
805
806 2003-11-28  Zoltan Varga  <vargaz@freemail.hu>
807
808         * AssemblyBuilder.cs (SetCustomAttribute): Implement automatic 
809         generation of build and revision numbers. Fixes #46492.
810
811 2003-11-25  Zoltan Varga  <vargaz@freemail.hu>
812
813         * TypeBuilder.cs: Implement GetField.
814
815 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
816
817         * DynamicMethod.cs: New class.
818
819         * ILGenerator.cs MethodBuilder.cs ConstructorBuilder.cs: Retrieve 
820         tokens from a token generator object instead of from the ModuleBuilder,
821         to support the implementation of DynamicMethod. Also get rid of the 
822         unused 'mbuilder' field.
823
824         * ModuleBuilder.cs: Create a token generator object which can be
825         passed to ILGenerator.
826
827         * LocalBuilder.cs ILGenerator.cs: Get rid of 'module' field, obtain 
828         needed objects from the ilgen object instead.
829
830 2003-11-21  Zoltan Varga  <vargaz@freemail.hu>
831
832         * TypeBuilder.cs FieldBuilder.cs MethodBuilder.cs ConstructorBuilder.cs:  Add support for custom modifiers from NET 1.2.
833
834         * ILGenerator.cs: Remove unused abuilder member.
835
836 2003-11-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
837
838         * OpCodes.cs: Remove Boxval for v1.1+
839
840 2003-11-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
841
842         * OpCodes.cs: Small rearrange to fix csc compiler warning about obsolete member used
843
844 2003-11-12  Zoltan Varga  <vargaz@freemail.hu>
845
846         * AssemblyBuilderAccess.cs PackingSize: Add [Flags].
847
848         * AssemblyBuilder.cs (DefineDynamicModule): Make internal method
849         private.
850
851         * AssemblyBuilder.cs (Save): Write out the main module at the end.
852         
853 2003-11-06  Zoltan Varga  <vargaz@freemail.hu>
854         
855         * ConstructorBuilder.cs (.ctor): Automatically add RTSpecialName flag
856         as MS does.
857
858 2003-11-06  Martin Baulig  <martin@ximian.com>
859
860         * ModuleBuilder.cs (ModuleBuilder.Save): Call `build_metadata'
861         before writing the symbol file.
862
863 2003-11-06  Zoltan Varga  <vargaz@freemail.hu>
864
865         * AssemblyBuilder.cs (.ctor): Initialize the 'dir' field to something
866         sensible.
867         
868         * AssemblyBuilder.cs (Save): Set 'created' flag.
869
870         * AssemblyBuilder.cs (get_next_table_index): Moved to ModuleBuilder,
871         since table indexes are per-module.
872
873 2003-11-03  Zoltan Varga  <vargaz@freemail.hu>
874
875         * TypeBuilder.cs (DefineDefaultConstructor): Pass an array instead of 
876         null to DefineConstructor, to avoid NullReferenceExceptions in the 
877         binder code.
878
879         * AssemblyBuilder.cs ModuleBuilder.cs ILGenerator.cs: Move getUSIndex 
880         and getToken methods, and the associated icalls to ModuleBuilder, 
881         since tokens are per-module.
882
883         * AssemblyBuilder.cs ModuleBuilder.cs: Partially revert the previous
884         patch, since having the 'is_main' field is useful in the unmanaged 
885         code.
886
887         * AssemblyBuilder.cs ModuleBuilder.cs: Move the metadata creation and
888         file creation logic to ModuleBuilder:Save (), since this needs to be
889         done for every module. Also move the corresponding icalls to 
890         ModuleBuilder.
891
892 2003-11-03  Zoltan Varga  <vargaz@freemail.hu>
893
894         * AssemblyBuilder.cs ModuleBuilder.cs: First steps toward a fix for
895         #48700 (proper module support in Ref.Emit). Remove is_main field from
896         ModuleBuilder and add a mainModule field to AssemblyBuilder instead.
897         This is neccesary, since the main module is determined during the 
898         Save () call: the module with the same file name as the assembly is
899         the main module. Also create a default main module, if one is not
900         existing.
901
902 2003-11-03  Martin Baulig  <martin@ximian.com>
903
904         * OpCodes.cs: Added Ldelem_Any, Stelem_Any and Unbox_Any from .NET 1.2.
905
906 2003-10-18  Sebastien Pouliot  <spouliot@videotron.ca>
907
908         * AssemblyBuilder.cs (SetCustomAttribute): Changed PK extraction to
909         use Mono.Security.StrongName (#49785).
910
911 2003-10-18  Zoltan Varga  <vargaz@freemail.hu>
912
913         * AssemblyBuilder.cs (SetCustomAttribute): Extract the public key from
914         the keyfile.
915
916 2003-10-17  Zoltan Varga  <vargaz@freemail.hu>
917
918         * AssemblyBuilder.cs (SetCustomAttribute): Ignore empty keyfile name.
919         
920         * AssemblyBuilder.cs: Moved loading of the public key file into
921         managed code from reflection.c. 
922
923         * AssemblyBuilder.cs: Set cultureInfo and version from the AssemblyName
924         passed to the constructor.
925
926 2003-10-13  Martin Baulig  <martin@ximian.com>
927
928         * MethodBuilder.cs (MethodBuilder): Added
929         `TypeBuilder.MonoGenericParam[] generic_params' field.
930         (DefineGenericParameter, SetGenericMethodSignature): New public methods.
931
932         * TypeBuilder.cs (DefineGenericMethod): New public method.
933
934 2003-10-13  Zoltan Varga  <vargaz@freemail.hu>
935
936         * OpCode.cs: Fix Value property. Fixes #49328.
937
938 2003-10-03  Zoltan Varga  <vargaz@freemail.hu>
939
940         * TypeBuilder.cs (CreateType): Fire TypeResolve events for unfinished 
941         nested value types. Fixes #47022.
942
943 2003-09-29  Zoltan Varga  <vargaz@freemail.hu>
944
945         * TypeBuilder.cs: Really fix #48695.
946
947 Sat Sep 27 16:17:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
948
949         * ILGenerator.cs: instance fields are loaded from this.
950
951 2003-09-26  Zoltan Varga  <vargaz@freemail.hu>
952
953         * TypeBuilder.cs (DefineDefaultConstructor): Make this work on types
954         without a parent. Fixes #48695.
955
956 2003-09-17  Martin Baulig  <martin@ximian.com>
957
958         * TypeBuilder.cs (TypeBuilder.CreateType): Don't append the type
959         parameters to the type name; ie. use `Stack' instead of `Stack<T>'.
960
961 2003-09-06  Martin Baulig  <martin@ximian.com>
962
963         * TypeBuilder.cs (TypeBuilder.IsUnboundGenericParameter): Implemented.
964
965 2003-09-04  Martin Baulig  <martin@ximian.com>
966
967         * TypeBuilder.cs (TypeBuilder.MonoGenericParam): Make this nested
968         class internal, not protected.
969
970 2003-08-29  Martin Baulig  <martin@ximian.com>
971
972         * TypeBuilder.cs (TypeBuilder.DefineGenericParameter): New public
973         method.  We can now create generic types.
974         (TypeBuilder.GetGenericTypeDefinition): Override this; call the
975         `setup_internal_class' interncall before calling our base impl.
976
977 Sat Aug  2 13:04:55 BST 2003 Malte Hildingson <malte@amy.udd.htu.se>
978
979         * ILGenerator.cs: Emission of doubles now utilise the Double.AssertEndianity
980         icall to assert double word endianity on ARM.
981
982 2003-07-25  Duncan Mak  <duncan@ximian.com>
983
984         * OpCodes.cs (Boxval): Marked with ObsoleteAttribute.
985
986 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
987
988         * TypeBuilder.cs: Added generics stubs.
989
990         * EnumBuilder.cs: Added generics  stubs, changed bracing style for
991         routines.
992
993 2003-07-23  Duncan Mak  <duncan@ximian.com>
994
995         * SignatureHelper.cs: This class does not have the
996         SerializableAttribute.
997
998 2003-07-11  Zoltan Varga  <vargaz@freemail.hu>
999
1000         * AssemblyBuilder.cs: Added argument checking to all methods according
1001         to the MSDN docs. Also marked DefineUnmanagedResource and its friends
1002         as not implemented.
1003         * ModuleBuilder.cs: Added new property FileName used by AssemblyBuilder.
1004         * ModuleBuilder.cs AssemblyBuilder.cs: Implemented IsTransient ().
1005
1006 2003-06-15  Zoltan Varga  <vargaz@freemail.hu>
1007
1008         * EventBuilder.cs: Add argument checking to methods.
1009
1010 Thu Jun 5 20:18:55 CEST 2003 Paolo Molaro <lupus@ximian.com>
1011
1012         * AssemblyBuilder.cs: implemented DefineResource ().
1013
1014 Thu Jun 5 12:36:34 CEST 2003 Paolo Molaro <lupus@ximian.com>
1015
1016         * OpCode.cs: implemented Equals/GetHashCode.
1017
1018 Tue Jun 3 11:14:51 CEST 2003 Paolo Molaro <lupus@ximian.com>
1019
1020         * ILGenerator.cs, OpCode.cs: optimize opcode space usage.
1021
1022 Tue Jun 3 11:13:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
1023
1024         * UnmanagedMarshal.cs: add ability to define custom attributes (the MS
1025         runtime doesn't support this).
1026
1027 2003-05-30  Zoltan Varga  <vargaz@freemail.hu>
1028
1029         * TypeBuilder.cs: Implement DefineTypeInitializer.
1030
1031 2003-05-21  Zoltan Varga  <vargaz@freemail.hu>
1032
1033         * ModuleBuilder.cs: 
1034         - Implement DefineInitializedData in terms of DefineUninitializedData
1035         - Name the types of global fields $ArrayType$<len> to cut back on the
1036         number of types created
1037         - Add argument checking
1038
1039 2003-05-19  Zoltan Varga  <vargaz@freemail.hu>
1040
1041         * AssemblyBuilder.cs: Implement GetDynamicModule. "Implement" various
1042         methods not supported under MS.NET.
1043
1044 2003-05-18  Martin Baulig  <martin@ximian.com>
1045
1046         * AssemblyBuilder.cs (corlib_void_type): New internal field.
1047         (SetCorlibTypeBuilders): Added overloaded version which takes 4
1048         arguments to set the `corlib_void_type'.
1049
1050         * TypeBuilder.cs: Use `pmodule.assemblyb.corlib_void_type' instead
1051         of `typeof (void)' to make this work when compiling corlib.
1052
1053 Thu May 15 19:16:54 CEST 2003 Paolo Molaro <lupus@ximian.com>
1054
1055         * MethodBuilder.cs: off by one in CreateMethodBody().
1056         * TypeBuilder.cs: if the return type for a method is null, use void.
1057
1058 2003-04-28  Miguel de Icaza  <miguel@ximian.com>
1059
1060         * MethodBuilder.cs: Mono allows the parameter position to be zero
1061         to indicate the "returns:" attribute.
1062
1063 2003-04-20  Miguel de Icaza  <miguel@ximian.com>
1064
1065         * ILGenerator.cs (EmitCall): Implement.
1066
1067         Flag a few unimplemented methods with MonoTODO, make coding style
1068         for method definitions Mono consistent.
1069
1070 2003-04-17  Zoltan Varga  <vargaz@freemail.hu>
1071
1072         * ILGenerator.cs: Implement EmitWriteLine methods.
1073
1074         * TypeBuilder.cs (CreateType): Avoid creating a default constructor
1075         for the global type.
1076
1077 2003-04-15  Miguel de Icaza  <miguel@ximian.com>
1078
1079         * TypeBuilder.cs (DefineDefaultConstructor): Make it generate code
1080         by default for a default constructor.  This is what the MS runtime
1081         does.  The PythonNet code expected this.
1082
1083         (TypeBuilder.GetConstructorImpl): Implement this.
1084
1085         (TypeBuilder.CreateType): If there are no constructors defined, we
1086         create one.
1087
1088 Tue Apr 15 13:50:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
1089
1090         * ModuleBuilder.cs, TypeBuilder.cs: set nesting_type before
1091         calling setup_internal_class ().
1092
1093 2003-03-27  Zoltan Varga  <vargaz@freemail.hu>
1094
1095         * AssemblyBuilder.cs: Added 'access' member, which is needed by the
1096         runtime.
1097
1098 2003-03-26  Zoltan Varga  <vargaz@freemail.hu>
1099
1100         * ILGenerator.cs: Implemented ThrowException.
1101
1102 2003-03-10  Zoltan Varga  <vargaz@freemail.hu>
1103
1104         * ILGenerator.cs: Propagate maxstack info along branches.
1105
1106 2003-03-06  Zoltan Varga  <vargaz@freemail.hu>
1107
1108         * ILGenerator.cs (Emit): Do not pop the arguments off the stack for
1109         ldftn etc. Fixes bug #39196.
1110
1111 2003-02-28  Zoltan Varga  <vargaz@freemail.hu>
1112
1113         * ILGenerator.cs (Emit): Add fixup for already created methods and
1114         fields. Do not add fixup for types since their table index do not 
1115         change any more.
1116
1117 2003-02-26  Zoltan Varga  <vargaz@freemail.hu>
1118
1119         * TypeBuilder.cs (DefineInitializedData): Removed unnecessary assignments.
1120
1121         * ModuleBuilder.cs (DefineInitializedData): Do not call 
1122         TypeBuilder::DefineInitializedData since that would mean defining a
1123         nested type of the global type, which is wrong. Instead define a
1124         new public type as MS does.
1125
1126         * ModuleBuilder.cs (DefineUninitializedData): Ditto.
1127
1128 Thu Feb 13 18:40:52 CET 2003 Paolo Molaro <lupus@ximian.com>
1129
1130         * ModuleBuilder.cs: add the basic initialization call.
1131
1132 2003-02-13  Zoltan Varga  <vargaz@freemail.hu>
1133
1134         * AssemblyBuilder.cs: Added basic error checking to some methods
1135         according to the MSDN docs.
1136
1137 2003-02-10  Zoltan Varga  <vargaz@freemail.hu>
1138
1139         * ConstructorBuilder.cs: 
1140         - Added basic error checking to all methods according to the MSDN docs.
1141         - modified a lot of methods to throw NotSupportedException, to comply
1142           with MS.NET.
1143
1144 2003-02-09  Zoltan Varga  <vargaz@freemail.hu>
1145
1146         * TypeBuilder.cs:
1147         - Added basic error checking to all methods according to the MSDN docs.
1148         - fixed AssemblyQualifiedName.
1149         - implemented 'Size'.
1150         - modified a lot of methods to throw NotSupportedException, to comply
1151           with MS.NET.
1152         - changes tested by running a full bootstrap.
1153
1154 2003-02-09  Martin Baulig  <martin@ximian.com>
1155
1156         * AssemblyBuilder.cs (AssemblyBuilder.methods): Removed.  This was
1157         a hack for the symbol writer which is no longer needed.
1158
1159 2003-02-09  Martin Baulig  <martin@ximian.com>
1160
1161         * IMonoSymbolWriter.cs (DefineNamespace, OpenMethod): New methods.
1162
1163 2003-02-09  Martin Baulig  <martin@ximian.com>
1164
1165         * IMonoSymbolWriter.cs (MarkSequencePoint): New method which takes
1166         just the required arguments as scalars, not arrays.
1167
1168         * ILGenerator.cs (ILGenerator.MarkSequencePoint): Use that new
1169         interface method; unnecessarily creating such a large number of
1170         arrays is both slow and too memory consuming.   
1171
1172 2003-02-08  Zoltan Varga  <vargaz@freemail.hu>
1173
1174         * MethodBuilder.cs: Added error checking to methods so they conform to
1175         MSDN docs. Implemented 'GetModule' and 'CallingConvention' members. 
1176         Some other tweaks to improve compatibility with MS .NET.
1177
1178         * TypeBuilder.cs: Added 'is_created' property which will be used for
1179         checking 'type is already created' errors.
1180
1181 2003-02-07  Martin Baulig  <martin@ximian.com>
1182
1183         * ModuleBuilder.cs (.ctor): Added `bool IsMainModule' argument.
1184         (Save): New internal method; creates the module's symbol file if
1185         we're compiling with debugging information.
1186
1187         * AssemblyBuilder.cs (EmbedResource): Added internal overloaded
1188         version of this method which takes a `byte[] blob' instead of a file.
1189         (DefineDynamicMethod): If this is the first module, tell the
1190         ModuleBuilder that this is the main module.
1191         (Save): Call a new interncall `build_metadata' to create the final
1192         metadata and save all the symbol files before creating the actual
1193         output.
1194
1195         * IMonoSymbolWriter.cs: New public class; it is in the namespace
1196         Mono.CSharp.Debugger.  The Mono symbol writer implements this interface.
1197
1198 2003-02-04  Zoltan Varga  <vargaz@freemail.hu>
1199
1200         * AssemblyBuilder.cs: added GetToken (SignatureHelper).
1201
1202         * ILGenerator.cs: implemented EmitCalli() methods
1203
1204         * SignatureHelper.cs: implemented GetMethoSigHelper() methods.
1205
1206 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1207
1208         * MethodBuilder.cs: GetBaseDefinition () returns this.
1209
1210 Mon Jan 27 17:07:38 CET 2003 Paolo Molaro <lupus@ximian.com>
1211
1212         * CustomAttributeBuilder.cs, FieldBuilder.cs: applied
1213         (reformatted) patch from "Jerome Laban" <jlaban@wanadoo.fr>
1214         to fix ByValStr and ByValArray encodings.
1215
1216 2003-01-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1217
1218         * AssemblyBuilder.cs: fixed compilation with csc.
1219
1220 2003-01-26  Miguel de Icaza  <miguel@ximian.com>
1221
1222         * AssemblyBuilder.cs (Save): Set the executable bit at the end.
1223         This uses a non-official enumeration value to call SetFileAttributes.
1224
1225 2003-01-17  Zoltan Varga  <vargaz@freemail.hu>
1226
1227         * MethodBuilder.cs ConstructorBuilder.cs: modify GetParameters() so it
1228         returns information even when the app did not use DefineParameter() to
1229         define the parameters.
1230
1231         * ConstructorBuilder.cs (ctor): allways define SpecialName attribute
1232         for constructors as done by MS.
1233
1234 Mon Jan 13 11:37:14 CET 2003 Paolo Molaro <lupus@ximian.com>
1235
1236         * TypeBuilder.cs, ModuleBuilder.cs: better type name cache.
1237
1238 2003-01-10  Zoltan Varga  <vargaz@freemail.hu>
1239
1240         * ILGenerator.cs: Implemented EmitWriteLine(string).
1241
1242         * TypeBuilder.cs (DefineInitializedData): Call DefineNestedType() 
1243         instead of DefineType() so the auxiliary types do not pollute the 
1244         global namespace. This is consistent with the behaviour of MS .NET.
1245
1246 Fri Jan 10 16:03:30 CET 2003 Paolo Molaro <lupus@ximian.com>
1247
1248         * ILGenerator.cs, MethodBuilder.cs, TypeBuilder.cs,
1249         ConstructorBuilder.cs: some tweaks to reduce memory usage.
1250
1251 Thu Jan 2 18:46:09 CET 2003 Paolo Molaro <lupus@ximian.com>
1252
1253         * ModuleBuilder.cs, TypeBuilder.cs: support global fields and methods.
1254
1255 Thu Dec 19 00:06:57 CET 2002 Paolo Molaro <lupus@ximian.com>
1256
1257         * AssemblyBuilder.cs: remove duplicated user string entries.
1258
1259 2002-12-11  Zoltan Varga  <vargaz@freemail.hu>
1260
1261         * FieldBuilder.cs: added 'handle' field which is needed by some new
1262         code in reflection.c.
1263
1264 2002-12-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1265
1266         * TypeBuilder.cs: implemented GetInterfaceMap () when the Type has been
1267         created.
1268
1269 Fri Nov 8 14:53:03 CET 2002 Paolo Molaro <lupus@ximian.com>
1270
1271         * ILGenerator.cs: account for the exception object being passed to the
1272         catch handler to calc max_stack.
1273
1274 2002-09-21  Martin Baulig  <martin@gnome.org>
1275
1276         * ModuleBuilder.cs (ModuleBuilder.symbol_writer): Make this
1277         field internal, not private.
1278         (ModuleBuilder.SymWriter_DefineLocalVariable): Removed.
1279
1280         * LocalBuilder.cs (LocalBuilder.SetLocalSymInfo): Use the
1281         ISymbolWriter's DefineLocalVariable() method instead of the
1282         IMonoSymbolWriter hack.
1283
1284 Mon Sep 16 19:02:58 CEST 2002 Paolo Molaro <lupus@ximian.com>
1285
1286         * AssemblyBuilder.c: special case some custom attributes.
1287
1288 2002-09-12  Dick Porter  <dick@ximian.com>
1289
1290         * TypeBuilder.cs: Say _which_ Type has already been created
1291
1292 2002-09-11  Miguel de Icaza  <miguel@ximian.com>
1293
1294         * ModuleBuilder.cs (GetTypes): Implement.
1295
1296 Tue Sep 10 12:12:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
1297
1298         * ConstructorBuilder.cs: added a field to hold the handle.
1299
1300 Mon Sep 9 17:31:12 CEST 2002 Paolo Molaro <lupus@ximian.com>
1301
1302         * TypeBuilder.cs: prepare for the real CreateType implementation.
1303
1304 Tue Aug 27 16:57:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
1305
1306         * TypeBuilder.cs: remove duplicate code and fix
1307         named field reading in custom attr.
1308
1309 2002-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1310
1311         * TypeBuilder.cs: UnspecifiedTypeSize is 0.
1312
1313 Wed Aug 14 17:38:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
1314
1315         * TypeBuilder.cs: ReflectedType and CreateType fixes.
1316
1317 Thu Aug 8 10:25:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
1318
1319         * AssemblyBuilder.cs: added API to embed managed resources.
1320
1321 2002-08-03  Martin Baulig  <martin@gnome.org>
1322
1323         * TypeBuilder.cs (TypeBuilder.DeclaringType): Implemented.
1324
1325 Thu Jul 25 13:57:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
1326
1327         * AssemblyBuilder.cs: support linking external resources.
1328
1329 2002-07-19  Martin Baulig  <martin@gnome.org>
1330
1331         * ILGenerator.cs (Emit (OpCode, LocalBuilder)): Throw an exception
1332         when trying to emit a local that was defined in a different ILGenerator.
1333
1334         * LocalBuilder.cs (LocalBuilder): Added `ILGenetator' argument to
1335         the constructor.
1336
1337 Tue Jul 16 19:32:08 CEST 2002 Paolo Molaro <lupus@ximian.com>
1338
1339         * ILGenerator.cs: stack size check fix.
1340
1341 Sat Jul 13 17:30:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
1342
1343         * AssemblyBuilder.cs: add also the enum_type for compiling corlib.
1344         * TypeBuilder.cs: complete IsValueType.
1345
1346 Sat Jul 13 15:08:12 CEST 2002 Paolo Molaro <lupus@ximian.com>
1347
1348         * TypeBuilder.cs: better IsValueType.
1349
1350 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1351
1352         * CustomAttributeBuilder.cs: removed compile warning.
1353
1354 Fri Jul 12 11:34:58 CEST 2002 Paolo Molaro <lupus@ximian.com>
1355
1356         * ILGenerator.cs: fixup typebuilder tokens as well.
1357
1358 Tue Jul 9 19:03:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
1359
1360         * TypeBuilder.cs: special case SerializarionAttribute.
1361         Tweaks to get correct code in corlib.
1362
1363 2002-07-06  Miguel de Icaza  <miguel@ximian.com>
1364
1365         * ILGenerator.cs (ILGenerator.Emit): For doubles and floats, swap
1366         the bytes on big endian systems. 
1367
1368 2002-07-03  Martin Baulig  <martin@gnome.org>
1369
1370         * AssemblyBuilder.cs (corlib_object_type, corlib_value_type): Moved
1371         these fields up after the last entry in MonoReflectionAssemblyBuilder
1372         in reflection.h.
1373
1374         * TypeBuilder.cs (IsValueTypeImpl): Use the AssemblyBuilder's
1375         `corlib_value_type' instead of `typeof (System.ValueType)'.
1376         (DefineNestedType): Use the AssemblyBuilder's `corlib_object_type'
1377         instead of `typeof (object)'.
1378
1379 2002-07-02  Martin Baulig  <martin@gnome.org>
1380
1381         * AssemblyBuilder.cs (corlib_object_type, corlib_value_type): New
1382         internal fields.  When compiling corlib, they point to the newly
1383         created System.Object and System.ValueType types.
1384         (SetCorlibTypeBuilders): New public function.  This will be
1385         dynamically called from MCS when compiling corlib.
1386
1387         * TypeBuilder.cs (DefineInitializedData): Use the AssemblyBuilder's
1388         `corlib_value_type' as parent type instead of `typeof (System.ValueType)'
1389         to make it work when compiling corlib.
1390
1391         * ModuleBuilder.cs (assemblyb): Made this field internal, not private.
1392
1393 Tue Jul 2 18:34:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
1394
1395         * TypeBuilder.cs: implemented AssemblyQualifiedName.
1396         * MethodBuilder.cs, ConstructorBuilder.cs: special case custom attr.
1397
1398 Mon Jul 1 16:17:29 CEST 2002 Paolo Molaro <lupus@ximian.com>
1399
1400         * TypeBuilder.cs: implemented AddInterfaceImplementation().
1401
1402 2002-06-28  Martin Baulig  <martin@gnome.org>
1403
1404         * MethodBuilder.cs (GetParameters): Return all parameters, not all
1405         but the last one.
1406
1407 2002-06-27  Martin Baulig  <martin@gnome.org>
1408
1409         * ConstructorBuilder.cs (GetParameters): Implemented.
1410
1411 Mon Jun 17 14:55:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
1412
1413         * ModuleBuilder.cs, TypeBuilder.cs: fixes for nested types handling.
1414
1415 Fri Jun 14 16:21:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
1416
1417         * CustomAttributeBuilder.cs: added custom attribute related internal
1418         helper methods.
1419         * FieldBuilder.cs, ParameterBuilder.cs: handle MarshalAs attribute.
1420         * UnmanagedMarshal.cs: implemented.
1421
1422 Mon Jun 10 18:58:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
1423
1424         * PropertyBuilder.cs: implemented ReflectedType and DeclaringType
1425         properties.
1426
1427 2002-06-07  Martin Baulig  <martin@gnome.org>
1428
1429         * TypeBuilder.cs (TypeBuilder): Added `PackingSize packing_size' and
1430         `int type_size' fields to the constructor.
1431         (DefineNestedType): Pass packing_size and type_size to the constructor.
1432
1433         * ModuleBuilder.cs (DefineType): Pass the packing_size and type_size
1434         fields to the TypeBuilder's constructor.
1435
1436 2002-06-07  Martin Baulig  <martin@gnome.org>
1437
1438         * TypeBuilder.cs (DefineNestedType): There is no overload for this
1439         method which takes 5 args in the specs, removed it.
1440
1441 Fri Jun 7 17:04:06 CEST 2002 Paolo Molaro <lupus@ximian.com>
1442
1443         * AssemblyBuilder.cs: updates for PE/COFF rewrite.
1444
1445 2002-05-30  Martin Baulig  <martin@gnome.org>
1446
1447         * AssemblyBuilder.cs (methods): Made this internal and don't
1448         initialize it.  It will be initialized by the ModuleBuilder's
1449         GetSymbolWriter() method.
1450         (get_next_table_index): Only store the method in the `methods'
1451         array if it's not null.
1452
1453         * ModuleBuilder.cs (GetSymbolWriter): Initialize the AssemblyBuilder's
1454         `methods' field if necessary and pass it as third argument to the
1455         symbol writer's constructor.
1456
1457 2002-05-25  Martin Baulig  <martin@gnome.org>
1458
1459         * TypeBuilder.cs (TypeToken): Implemented.
1460
1461 2002-05-24  Martin Baulig  <martin@gnome.org>
1462
1463         * ModuleBuilder.cs (symwriter_define_local): New private variable.
1464         (GetSymbolWriter): Look for a custom version of "DefineLocalVariable"
1465         and store it in `symwriter_define_local'.
1466         (SymWriter_DefineLocalVariable): New internal method to call the
1467         symbol writer's custom DefineLocalVariable() method.  It is safe to
1468         call this method if there's no symbol writer.
1469
1470         * LocalBuilder.cs (SetLocalSymInfo): Use the MethodBuilder'snew
1471         SymWriter_DefineLocalVariable().
1472
1473         * MethodBuilder.cs (GetParameters): Implemented.
1474
1475 2002-05-22  Martin Baulig  <martin@gnome.org>
1476
1477         * ModuleBuilder.cs (GetSymbolWriter): Pass the this pointer to the
1478         symbol writer's constructor.
1479
1480 2002-05-22  Martin Baulig  <martin@gnome.org>
1481
1482         * AssemblyBuilder.cs (methods): New field.
1483         (get_next_table_index): Record all methods and constructors
1484         (table 0x06) in the `methods' array.  This is read by the
1485         Mono.CSharp.Debugger.MonoSymbolWriter::get_method interncall to
1486         get the MethodBuilder / ConstructorBuilder back from the token.
1487
1488         * *Builder.cs (get_next_table_index): Added `object obj' argument.
1489         (<constructors>): pass the this pointer to get_next_table_index ().
1490
1491 2002-05-20  Martin Baulig  <martin@gnome.org>
1492
1493         * TypeBuilder.cs (DefineField): Call the new `create_internal_class'
1494         interncall after adding the first field.  This is used when creating
1495         enum types to set `klass->enum_basetype'.
1496
1497 Thu May 16 16:09:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
1498
1499         * TypeBuilder.cs: complete special acse support for CharSet, Size and
1500         Pack named args in StructLayout attribute.
1501
1502 Tue May 14 17:13:48 CEST 2002 Paolo Molaro <lupus@ximian.com>
1503
1504         * MethodBuilder.cs: revert change in accessibility of
1505         GetILGenerator(int).
1506
1507 Tue May 14 13:31:17 CEST 2002 Paolo Molaro <lupus@ximian.com>
1508
1509         * FieldBuilder.cs, ParameterBuilder.cs: more special-casing of
1510         attributes.
1511
1512 Fri May 10 20:57:27 CEST 2002 Paolo Molaro <lupus@ximian.com>
1513
1514         * CustomAttributeBuilder.cs: expose internal data for use in
1515         reflection.
1516         * FieldBuilder.cs, TypeBuilder.cs: special case FieldOffset and
1517         StructLayout attributes.
1518
1519 Fri May 10 16:30:57 CEST 2002 Paolo Molaro <lupus@ximian.com>
1520
1521         * MethodBuilder.cs, ConstructorBuilder.cs: implemented InitLocals
1522         property.
1523
1524 2002-04-26  Martin Baulig  <martin@gnome.org>
1525
1526         * ModuleBuilder.cs (DefineDocument): Implemented.
1527
1528 Tue Apr 16 13:02:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
1529
1530         * AssemblyBuilder.cs: pad output file to file alignment.
1531         * FieldBuilder.cs: ReflectedType.
1532         * ModuleBuilder.cs: added guid generation and array method creation.
1533         * MonoArrayMethod.cs: array method support code.
1534         
1535 Wed Apr 10 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
1536
1537         * ILGenerator.cs: use a stack to keep track of exception blocks.
1538
1539 Mon Apr  8 06:19:01  2002 Piers Haken <piersh@friskit.com>
1540
1541         * ILGenerator.cs: added LabelField.label_base to allow for
1542         arbitrary offsets (for switch statement)
1543
1544 Fri Apr 5 15:41:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
1545
1546         * AssemblyBuilder.cs: simpler protocol wih the runtime to
1547         get the assembly data.
1548
1549 Tue Mar 26 20:10:24 CET 2002 Paolo Molaro <lupus@ximian.com>
1550
1551         * AssemblyBuilder.cs: use FileMode.Create.
1552         * ILGenerator.cs: optimize localbuilder related opcodes.
1553         Track parameters to adjust maxstack.
1554         * LocalBuilder.cS: use unsigned for position.
1555
1556 2002-03-23  Miguel de Icaza  <miguel@ximian.com>
1557
1558         * LocalBuilder.cs: Drop the symbol_writer as LocalBuilder fields.
1559         Do this lazily in SetLocalSymInfo.
1560         
1561 2002-03-24  Martin Baulig  <martin@gnome.org>
1562
1563         * ModuleBuilder.cs (GetSymbolWriter): The MonoSymbolWriter's constructor
1564         now takes a `string assembly_filename' argument, pass it our fully
1565         qualified assembly name.
1566
1567 2002-03-24  Nick Drochak  <ndrochak@gol.com>
1568
1569         * ILGenerator.cs: Use #if-#endif instead of if(false){} to disable
1570         code.  This way there is no compiler warning.
1571
1572         * TypeBuilder.cs: Removed the returns that came after the throws.
1573         This removes a few more compiler warnings. Also marked with MonoTODO
1574         all places where we throw NotImplemented exceptions.
1575
1576 2002-03-23  Martin Baulig  <martin@gnome.org>
1577
1578         * SignatureHelper.cs (GetFieldSignatureHelper, GetLocalSignatureHelper):
1579         Implemented.
1580
1581         * LocalBuilder.cs (LocalBuilder): This internal constructor now takes
1582         a ModuleBuilder argument instead of a ISymbolWriter one.
1583         (SetLocalSymInfo): Create and pass type signature to DefineLocalVariable.
1584
1585 2002-03-23  Martin Baulig  <martin@gnome.org>
1586
1587         * ILGenerator.cs (BeginScope, EndScope): Implemented.
1588
1589 2002-03-20  Martin Baulig  <martin@gnome.org>
1590
1591         * ModuleBuilder.cs (GetSymbolWriter): New internal function. Dynamically
1592         loads the default symbol writer, catch all possible exceptions and return
1593         null on failure.
1594         (ModuleBuilder): Added `bool emitSymbolInfo' argument to this internal
1595         constructor; if set, call GetSymbolWriter ().
1596         (GetSymWriter): Implemented.
1597
1598         * LocalBuilder.cs (LocalBuilder): Added ISymbolWriter argument to this
1599         internal method.
1600         (SetLocalSymInfo): Implemented, call ISymbolWriter.DefineLocalVariable ()
1601         if the symbol writer is not null.
1602
1603         * ILGenerator.cs (ILGenerator): Call ModuleBuilder.GetSymWriter () to get
1604         and store the symbol writer.
1605         (DeclareLocal): Pass the symbol writer to LocalBuilder's constructor.
1606         (MarkSequencePoint): Implemented, call ISymbolWriter.DefineSequencePoints ()
1607         if the symbol writer is not null.
1608
1609         * AssemblyBuilder.cs (DefineDynamicModule): Pass the `bool emitSymbolInfo'
1610         to ModuleBuilder's constructor.
1611
1612 Sat Mar 16 19:11:47 CET 2002 Paolo Molaro <lupus@ximian.com>
1613
1614         * ModuleBuilder.cs: handle modified types correctly.
1615
1616 Thu Mar 7 17:10:42 CET 2002 Paolo Molaro <lupus@ximian.com>
1617
1618         * AssemblyBuilder.cs: allow saving bigger assemblies.
1619         * ILGenerator.cs: add fixup table for fields and methods, since
1620         at the end of the compile they may end up with a different table
1621         index.
1622         * ModuleBuilder.cs: add cache for type names to speed up the type
1623         lookups from the compiler.
1624         * TypeBuilder.cs: GetInterfaces () returns only interfaces in the
1625         current type, not in parents (the docs are wrong).
1626
1627 Tue Mar 5 18:09:34 CET 2002 Paolo Molaro <lupus@ximian.com>
1628
1629         * EventBuilder.cs: implemented.
1630         * TypeBuilder.cs: implemented DefineEvent() method and UnderlyingSystemType
1631         property.
1632
1633 Mon Mar 4 20:34:52 CET 2002 Paolo Molaro <lupus@ximian.com>
1634
1635         * ILGenerator.cs: make enough room in the byte array for string
1636         tokens.
1637         * TypeBuilder.cs: fixed GetInterfaces().
1638
1639 Mon Mar 4 11:30:40 CET 2002 Paolo Molaro <lupus@ximian.com>
1640
1641         * TypeBuilder.cs: implemented GetConstructors(), GetFields(),
1642         GetMethods(), GetProperties().
1643
1644 Thu Feb 28 19:15:10 CET 2002 Paolo Molaro <lupus@ximian.com>
1645
1646         * AssemblyBuilder.cs: call into the runtime to init some basic
1647         assembly stuff. Reserve slot 1 of typedef table for .<Module>.
1648         * ModuleBuilder.cs: call into the runtime if we need to create a
1649         modief type, such as arrays, byref etc.
1650         * TypeBuilder.cs: call into the runtime to create the MonoClass
1651         representation for the type. Throw exceptions with not implemented
1652         stuff.
1653
1654 Wed Feb 27 18:48:47 CET 2002 Paolo Molaro <lupus@ximian.com>
1655
1656         * ILGenerator.cs: fix nested exception blocks.
1657
1658 Wed Feb 20 22:30:49 CET 2002 Paolo Molaro <lupus@ximian.com>
1659
1660         * AssemblyBuilder.cs: upped compiled assembly size limit.
1661         Implemented SetCustomAttribute () methods.
1662         * CustomAttributeBuilder.cs: implemented the needed constructor
1663         stuff.
1664         * Cosntructorbuilder.cs, EnumBuilder.cs, FieldBuilder.cs,
1665         MethodBuilder.cs, ModuleBuilder.cs, ParameterBuilder.cs,
1666         PropertyBuilder.cs, TypeBuilder.cs: Implemented SetCustomAttribute () methods.
1667
1668 Wed Feb 20 14:54:01 CET 2002 Paolo Molaro <lupus@ximian.com>
1669
1670         * AssemblyBuilder.cs: add SetCustomAttribute () to keep the compiler
1671         going.
1672
1673 Fri Feb 15 18:15:04 CET 2002 Paolo Molaro <lupus@ximian.com>
1674
1675         * ILGenerator.cs: finally block support and fixes.
1676
1677 Thu Feb 14 18:55:52 CET 2002 Paolo Molaro <lupus@ximian.com>
1678
1679         * FieldBuilder.cs: Add SetRVAData().
1680         * ILGenerator.cs: speed up code array growth.
1681         * TypeBuilder.cs: fix IsValueTypeImpl(). Add class_size member.
1682         Implement DefineInitializedData().
1683
1684 Tue Jan 22 23:01:11 CET 2002 Paolo Molaro <lupus@ximian.com>
1685
1686         * EnumBuilder.cs, TypeBuilder.cs: updates for changes in Type.cs.
1687         * ModuleBuilder.cs: fix lookup of nested types.
1688
1689 Tue Jan 15 22:46:21 CET 2002 Paolo Molaro <lupus@ximian.com>
1690
1691         * ILGenerator.cs: implement some of the exception support methods.
1692
1693 Mon Jan 14 17:07:32 CET 2002 Paolo Molaro <lupus@ximian.com>
1694
1695         * ModulerBuilder.cs: search also for subtypes in GetTypes().
1696         * TypeBuilder.cs: bugfix in FullName. Implemented DefineNestedType().
1697
1698 Fri Jan 11 19:00:29 CET 2002 Paolo Molaro <lupus@ximian.com>
1699
1700         * MethodBuilder.cs, ConstructorBuilder.cs: save parameter info.
1701
1702 Thu Jan 10 21:07:54 CET 2002 Paolo Molaro <lupus@ximian.com>
1703
1704         * ILGenerator.cs: handle type tokens (used for box opcode).
1705
1706 Wed Jan 9 19:37:55 CET 2002 Paolo Molaro <lupus@ximian.com>
1707
1708         * ILGenerator.cs: emit float and doubles.
1709         * ModuleBuilder.cs: off-by-one error fix and GetType()
1710         implementations.
1711         * TypeBuilder.cs: AttributesImpl added.
1712         * UnmanagedMarshal.cs: stubbed out class.
1713
1714 Sat Jan 5 15:59:05 CET 2002 Paolo Molaro <lupus@ximian.com>
1715
1716         * ILGenerator.cs: fix emission of two-bytes opcodes.
1717         Missing slot for locals array. Throw exceptions on unimplemented
1718         methods.
1719         * OpCode.cs: add a comment: the Value property is useless.
1720         * OpCodes.cs: fix name of tail opcode (Tail -> Tailcall).
1721
1722 2002-01-05  Ravi Pratap  <ravi@ximian.com>
1723
1724         * ConstructorBuilder.cs : Use the MonoTODO attribute.
1725
1726         * ILGenerator.cs, Label.cs, MethodBuilder.cs, ModuleBuilder.cs,
1727         ParameterBuilder.cs, TypeBuilder.cs : Ditto.
1728         
1729 Thu Jan 3 23:26:15 CET 2002 Paolo Molaro <lupus@ximian.com>
1730
1731         * ILGenerator.cs: typo fix.
1732
1733 Mon Dec 24 17:21:30 CET 2001 Paolo Molaro <lupus@ximian.com>
1734
1735         * TypeBuilder.cs: added DefineMethodOverride().
1736         * MethodBuilder.cs: add override_method member and setter.
1737
1738 Mon Nov 19 13:58:01 CET 2001 Paolo Molaro <lupus@ximian.com>
1739
1740         * AssemblyBuilder.cs: add method to register a string in the "#US"
1741         stream.
1742         * EnumBuilder.cs, SignatureHelper.cs: added stubs.
1743         * ILGenerator.cs: more stuff implemented.
1744         * LocalBuilder.cs: keep track of local var index.
1745
1746 Thu Nov 15 18:11:23 CET 2001 Paolo Molaro <lupus@ximian.com>
1747
1748         * ConstructorBuilder.cs: implement the interesting methods.
1749         * ILGenerator.cs: adapt for use with both a MethodBuilder and a
1750         ConstructorBuilder.
1751         * MethodBuilder.cs: add ImplAttributes.
1752         * ParameterBuilder.cs: adapt for ConstructorBuilder.
1753         * TypeBuilder.cs: add constructors handling.
1754
1755 Wed Nov 14 17:01:45 CET 2001 Paolo Molaro <lupus@ximian.com>
1756
1757         * ConstructorBuilder.cs: added missing stubs and some implementation.
1758         * CustomAttributeBuilder.cs: added.
1759         * EventBuilder.cs: added.
1760         * FieldBuilder.cs: updates.
1761         * MethodBuilder.cs: stuff to implement P/Invoke methods.
1762         * ModuleBuilder.cs: added GetArrayMethod() stub.
1763         * ParameterBuilder.cs, PropertyBuilder.cs: updates.
1764         * TypeBuilder.cs: updates and stubs.
1765
1766 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
1767
1768         * TypeBuilder.cs: Added implementation for TypeHandle.
1769
1770 Tue Nov 6 09:13:45 CET 2001 Paolo Molaro <lupus@ximian.com>
1771
1772         * AssemblyBuilder.cs: define an internal constructor.
1773
1774 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
1775
1776         * AssemblyBuilder.cs: Reformatted.
1777
1778         Added override keywords to those that needed them.
1779
1780         Removed methods that we do not override, but just inherit
1781
1782 Tue Sep 25 16:53:08 CEST 2001 Paolo Molaro <lupus@ximian.com>
1783
1784         * TypeBuilder.cs, ConstructorBuilder.cs, ModuleBuilder.cs: added.