2004-05-13 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / corlib / System.Reflection.Emit / ChangeLog
1 2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
2
3         * TypeBuilder.cs MethodBuilder.cs ConstructorBuilder.cs: Implement
4         ToString ().
5
6 2004-05-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
7
8         * OpCodes.cs: Refactored to avoid the static constructor
9
10 2004-05-10  Gert Driesen (drieseng@users.sourceforge.net)
11         * AssemblyBuilder.cs: fixed warning
12         * MethodRental.cs: added private default ctror to match MS.NET
13
14 2004-05-03 Lluis Sanches Gual  <lluis@ximian.com>
15
16         * ModuleBuilder.cs: Use name const to load the debugger assembly.
17
18 2004-05-01  Todd Berman  <tberman@sevenl.net>
19
20         * ModuleBuilder.cs: Load the proper assembly for a gac-only install.
21
22 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
23
24         * ILGenerator.cs, ModuleBuilder.cs: readonlyificate.
25
26 2004-04-28  Zoltan Varga  <vargaz@freemail.hu>
27
28         * MethodRental.cs: New file.
29
30 2004-04-28  Raja R Harinath  <rharinath@novell.com>
31
32         * TypeBuilder.cs (SetCustomAttribute): Handle the presence of the
33         full type name in the data stream.  This is emitted for value
34         types by the Mono runtime.
35
36 2004-04-23  Atsushi Enomoto  <atsushi@ximian.com>
37
38         * ConstructorBuilder.cs, DynamicMethod.cs, EnumBuilder.cs,
39           GenericTypeParameterBuilder.cs, MethodBuilder.cs, ModuleBuilder.cs,
40           OpCodes.cs, TypeBuilder.cs :
41           The fix should be easier ;)
42
43 2004-04-23  Atsushi Enomoto  <atsushi@ximian.com>
44
45         * ConstructorBuilder.cs, DynamicMethod.cs, EnumBuilder.cs,
46           GenericTypeParameterBuilder.cs, MethodBuilder.cs, ModuleBuilder.cs,
47           OpCodes.cs, TypeBuilder.cs :
48           NET_2_0 related build fix.
49
50 2004-04-07  Martin Baulig  <martin@ximian.com>
51
52         * GenericTypeParameterBuilder.cs
53         (Mono_SetReferenceTypeConstraint): New public method.
54         (Mono_SetValueTypeConstraint): New public method.
55
56 2004-04-07  Bernie Solomon  <bernard@ugsolutions.com>
57
58         * MethodBuilder.cs, TypeBuilder.cs: always have 
59         slot for generic_params for consistent offsets.
60
61 2004-04-07  Martin Baulig  <martin@ximian.com>
62
63         * GenericTypeParameterBuilder.cs
64         (Mono_SetConstructorConstraint): New public method.     
65
66 2004-04-07  Martin Baulig  <martin@ximian.com>
67
68         * GenericTypeParameterBuilder.cs: New file.
69
70         * TypeBuilder.cs (TypeBuilder.DefineGenericParameters): New public
71         method.  This is the new public API.
72         (TypeBuilder.DefineGenericParameter): Removed.
73         (TypeBuilder.SetGenericParameterConstraints): Removed.
74
75         * MethodBuilder.cs (MethodBuilder.DefineGenericParameters): New public
76         method.  This is the new public API.
77         (MethodBuilder.DefineGenericParameter): Removed.
78         (MethodBuilder.SetGenericParameterConstraints): Removed.
79
80 2004-04-01  Martin Baulig  <martin@ximian.com>
81
82         * OpCodes.cs (OpCodes.Constrained): New opcode.
83
84 2004-04-01 Ben Maurer  <bmaurer@users.sourceforge.net>
85
86         * LocalBuilder.cs: Fix pinned support.
87
88 2004-03-30  Martin Baulig  <martin@ximian.com>
89
90         * TypeBuilder.cs (TypeBuilder.SetGenericParameterConstraints):
91         Added `bool has_ctor_constraint' argument.
92
93         * MethodBuilder.cs (MethodBuilder.SetGenericParameterConstraints):
94         Added `bool has_ctor_constraint' argument.
95
96 2004-03-29 Ben Maurer  <bmaurer@users.sourceforge.net>
97
98         * LocalBuilder.cs: pinned support.
99
100 2004-03-29  Martin Baulig  <martin@ximian.com>
101
102         * TypeBuilder.cs (TypeBuilder.ContainsGenericParameters): Implemented.
103
104 2004-03-25  Sebastien Pouliot  <sebastien@ximian.com>
105
106         * AssemblyBuilder.cs: Changed strongname support to match MS 
107         implementation (i.e. attributes are used by the compiler - not by
108         AssemblyBuilder).
109
110 2004-03-24  Zoltan Varga  <vargaz@freemail.hu>
111
112         * TypeBuilder.cs (GetMethod): Implement.
113
114         * CustomAttributeBuilder.cs: Reenable argument checking with MS.NET
115         compatibility tweaks.
116
117 2004-03-23  Martin Baulig  <martin@ximian.com>
118
119         * TypeBuilder.cs (TypeBuilder.GetEvents_internal): New internal
120         method; this is basically GetEvents(), but see the FIXME in that method.
121
122 2004-03-23  Zoltan Varga  <vargaz@freemail.hu>
123
124         * CustomAttributeBuilder.cs: Disable argument checking since it causes
125         regressions.
126
127 2004-03-22  Zoltan Varga  <vargaz@freemail.hu>
128
129         * CustomAttributeBuilder.cs (Initialize): Add more argument checking. 
130         Fixes #55793.
131
132 2004-03-09  Jackson Harper  <jackson@ximian.com>
133
134         * CustomAttributeBuilder.cs: Add some argument checking. Handle
135         default arguments properly.
136
137 2004-03-09  Sebastien Pouliot  <spouliot@videotron.ca>
138
139         * AssemblyBuilder.cs: The strong name key file existance will now be
140         checked in the current compilation directory AND in the assembly
141         output directory. Fix bugzilla entry #55320.
142
143 2004-02-23  Martin Baulig  <martin@ximian.com>
144
145         * MethodBuilder.cs (MethodBuilder.SetGenericMethodSignature):
146         Added MethodAttributes and CallingConventions arguments.
147
148 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
149
150         * TypeBuilder.cs: Implement DefineUninitializedData and 
151         AddDeclarativeSecurity.
152
153 2004-01-27  Zoltan Varga  <vargaz@freemail.hu>
154
155         * AssemblyBuilder.cs (SetCustomAttribute): Move the reading of the
156         keyfile to the Save () method.
157
158 2004-01-26  Sebastien Pouliot  <spouliot@videotron.ca>
159
160         * AssemblyBuilder.cs: Save will now strongname the assembly is (a) a
161         StrongName is present and (b) the signature isn't delayed.
162
163 2004-01-24 David Sheldon <dave-mono@earth.li>
164
165         * AssemblyBuilder.cs: Added override for GetFiles() that throws
166           NotSupportedException. 
167
168 2004-01-15  Zoltan Varga  <vargaz@freemail.hu>
169
170         * AssemblyBuilder.cs (Save): Handle entry points with an int return
171         type as well.
172         
173         * AssemblyBuilder.cs (Save): If the entry point is in a module, create
174         a new entry point which calls the real one, since the entry point must
175         be in the module which contains the manifest.
176
177         * ModuleBuilder.cs (Save): Create the global type automatically if not
178         already done.
179
180 2004-01-13  Zoltan Varga  <vargaz@freemail.hu>
181
182         * AssemblyBuilder.cs (DefineVersionInfoResource): Set more 
183         version info properties.
184
185 2004-01-08  Zoltan Varga  <vargaz@freemail.hu>
186
187         * CustomAttributeBuilder.cs (string_arg): New helper method.
188
189         * AssemblyBuilder.cs (DefineVersionInfoResource): Implement.
190
191         * AssemblyBuilder.cs (SetCustomAttribute): Use the new helper method.
192
193         * AssemblyBuilder.cs (DefineUnmanagedResource): Implement.
194
195         * AssemblyBuilder.cs (DefineIconResource): New internal method to
196         support mcs.
197
198         * TypeBuilder.cs (IsDefined): Implement this, since some corlib classes
199         make calls to IsDefined.
200
201 2004-01-06  Zoltan Varga  <vargaz@freemail.hu>
202
203         * AssemblyBuilder.cs: Fix warning.
204
205 2004-01-05  Zoltan Varga  <vargaz@freemail.hu>
206
207         * AssemblyBuilder.cs (DefineVersionInfoResource): Implement.
208
209 2003-12-29 Ben Maurer  <bmaurer@users.sourceforge.net>
210
211         * MethodBuilder.cs, ConstructorBuilder.cs: Override GetParameterCount.
212         * ILGenerator.cs: Use GetParameterCount.
213
214 2003-12-20  Zoltan Varga  <vargaz@freemail.hu>
215
216         * AssemblyBuilder.cs (AddModule): New internal method to support 
217         /addmodule in mcs.
218
219 2003-12-19  Zoltan Varga  <vargaz@freemail.hu>
220
221         * AssemblyBuilder.cs: New internal property to support /target:module in
222         mcs.
223
224 2003-12-18  Zoltan Varga  <vargaz@freemail.hu>
225
226         * ILGenerator.cs: Applied patch from Ben Maurer 
227         (bmaurer@users.sourceforge.net). Allocate arrays holding label data
228         lazily and reduce their size.
229
230 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
231
232         * AssemblyBuilder.cs (MonoResource): New 'offset' field used by the
233         runtime.
234
235         * ModuleBuilder: Implement DefineResource.
236
237 2003-12-15  Zoltan Varga  <vargaz@freemail.hu>
238
239         * AssemblyBuilder.cs (RefEmitPermissionSet): New helper structure.
240         
241         * MethodBuilder.cs (AddDeclarativeSecurity): Implement.
242
243         * ConstructorBuilder.cs (AddDeclarativeSecurity): Ditto.
244
245 2003-12-10  Zoltan Varga  <vargaz@freemail.hu>
246
247         * MethodBuilder.cs: Add stubs for missing methods.
248
249         * TypeBuilder.cs (GetEvents): Add new override.
250
251         * ModuleBuilder.cs: Implement some missing methods, add stubs for others.
252
253         * AssemblyBuilder.cs (GetFiles): Get rid of unneccessary override.
254
255         * AssemblyBuilder.cs (ImageRuntimeVersion): Add override to keep
256         signature compatibility with MS.NET.
257
258         * TypeBuilder.cs (MemberType): Get rid of unneccessary override.
259
260 2003-12-08  Martin Baulig  <martin@ximian.com>
261
262         * TypeBuilder.cs (TypeBuilder.MonoGenericParam): Removed; use the
263         new `MonoGenericParam' class instead (in S.R/MonoGenericInst.cs).
264
265 2003-12-08  Zoltan Varga  <vargaz@freemail.hu>
266
267         * ModuleBuilder.cs: Double the size of the types array during insertion
268         do avoid excessive memory allocation and copying. Track the number of
269         types in a separate variable.
270
271         * TypeBuilder.cs: Same for the 'fields' and 'methods' arrays.
272
273 2003-12-03  Zoltan Varga  <vargaz@freemail.hu>
274
275         * ModuleBuilder.cs (DefinePInvokeMethod): Implement.
276
277         * ModuleBuilder.cs (DefineGlobalMethod): Implement the Net 1.2 variants.
278
279 2003-11-28  Dick Porter  <dick@ximian.com>
280
281         * ModuleBuilder.cs: Do string compares with the Invariant culture.
282
283 2003-11-28  Zoltan Varga  <vargaz@freemail.hu>
284
285         * AssemblyBuilder.cs (SetCustomAttribute): Implement automatic 
286         generation of build and revision numbers. Fixes #46492.
287
288 2003-11-25  Zoltan Varga  <vargaz@freemail.hu>
289
290         * TypeBuilder.cs: Implement GetField.
291
292 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
293
294         * DynamicMethod.cs: New class.
295
296         * ILGenerator.cs MethodBuilder.cs ConstructorBuilder.cs: Retrieve 
297         tokens from a token generator object instead of from the ModuleBuilder,
298         to support the implementation of DynamicMethod. Also get rid of the 
299         unused 'mbuilder' field.
300
301         * ModuleBuilder.cs: Create a token generator object which can be
302         passed to ILGenerator.
303
304         * LocalBuilder.cs ILGenerator.cs: Get rid of 'module' field, obtain 
305         needed objects from the ilgen object instead.
306
307 2003-11-21  Zoltan Varga  <vargaz@freemail.hu>
308
309         * TypeBuilder.cs FieldBuilder.cs MethodBuilder.cs ConstructorBuilder.cs:  Add support for custom modifiers from NET 1.2.
310
311         * ILGenerator.cs: Remove unused abuilder member.
312
313 2003-11-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
314
315         * OpCodes.cs: Remove Boxval for v1.1+
316
317 2003-11-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
318
319         * OpCodes.cs: Small rearrange to fix csc compiler warning about obsolete member used
320
321 2003-11-12  Zoltan Varga  <vargaz@freemail.hu>
322
323         * AssemblyBuilderAccess.cs PackingSize: Add [Flags].
324
325         * AssemblyBuilder.cs (DefineDynamicModule): Make internal method
326         private.
327
328         * AssemblyBuilder.cs (Save): Write out the main module at the end.
329         
330 2003-11-06  Zoltan Varga  <vargaz@freemail.hu>
331         
332         * ConstructorBuilder.cs (.ctor): Automatically add RTSpecialName flag
333         as MS does.
334
335 2003-11-06  Martin Baulig  <martin@ximian.com>
336
337         * ModuleBuilder.cs (ModuleBuilder.Save): Call `build_metadata'
338         before writing the symbol file.
339
340 2003-11-06  Zoltan Varga  <vargaz@freemail.hu>
341
342         * AssemblyBuilder.cs (.ctor): Initialize the 'dir' field to something
343         sensible.
344         
345         * AssemblyBuilder.cs (Save): Set 'created' flag.
346
347         * AssemblyBuilder.cs (get_next_table_index): Moved to ModuleBuilder,
348         since table indexes are per-module.
349
350 2003-11-03  Zoltan Varga  <vargaz@freemail.hu>
351
352         * TypeBuilder.cs (DefineDefaultConstructor): Pass an array instead of 
353         null to DefineConstructor, to avoid NullReferenceExceptions in the 
354         binder code.
355
356         * AssemblyBuilder.cs ModuleBuilder.cs ILGenerator.cs: Move getUSIndex 
357         and getToken methods, and the associated icalls to ModuleBuilder, 
358         since tokens are per-module.
359
360         * AssemblyBuilder.cs ModuleBuilder.cs: Partially revert the previous
361         patch, since having the 'is_main' field is useful in the unmanaged 
362         code.
363
364         * AssemblyBuilder.cs ModuleBuilder.cs: Move the metadata creation and
365         file creation logic to ModuleBuilder:Save (), since this needs to be
366         done for every module. Also move the corresponding icalls to 
367         ModuleBuilder.
368
369 2003-11-03  Zoltan Varga  <vargaz@freemail.hu>
370
371         * AssemblyBuilder.cs ModuleBuilder.cs: First steps toward a fix for
372         #48700 (proper module support in Ref.Emit). Remove is_main field from
373         ModuleBuilder and add a mainModule field to AssemblyBuilder instead.
374         This is neccesary, since the main module is determined during the 
375         Save () call: the module with the same file name as the assembly is
376         the main module. Also create a default main module, if one is not
377         existing.
378
379 2003-11-03  Martin Baulig  <martin@ximian.com>
380
381         * OpCodes.cs: Added Ldelem_Any, Stelem_Any and Unbox_Any from .NET 1.2.
382
383 2003-10-18  Sebastien Pouliot  <spouliot@videotron.ca>
384
385         * AssemblyBuilder.cs (SetCustomAttribute): Changed PK extraction to
386         use Mono.Security.StrongName (#49785).
387
388 2003-10-18  Zoltan Varga  <vargaz@freemail.hu>
389
390         * AssemblyBuilder.cs (SetCustomAttribute): Extract the public key from
391         the keyfile.
392
393 2003-10-17  Zoltan Varga  <vargaz@freemail.hu>
394
395         * AssemblyBuilder.cs (SetCustomAttribute): Ignore empty keyfile name.
396         
397         * AssemblyBuilder.cs: Moved loading of the public key file into
398         managed code from reflection.c. 
399
400         * AssemblyBuilder.cs: Set cultureInfo and version from the AssemblyName
401         passed to the constructor.
402
403 2003-10-13  Martin Baulig  <martin@ximian.com>
404
405         * MethodBuilder.cs (MethodBuilder): Added
406         `TypeBuilder.MonoGenericParam[] generic_params' field.
407         (DefineGenericParameter, SetGenericMethodSignature): New public methods.
408
409         * TypeBuilder.cs (DefineGenericMethod): New public method.
410
411 2003-10-13  Zoltan Varga  <vargaz@freemail.hu>
412
413         * OpCode.cs: Fix Value property. Fixes #49328.
414
415 2003-10-03  Zoltan Varga  <vargaz@freemail.hu>
416
417         * TypeBuilder.cs (CreateType): Fire TypeResolve events for unfinished 
418         nested value types. Fixes #47022.
419
420 2003-09-29  Zoltan Varga  <vargaz@freemail.hu>
421
422         * TypeBuilder.cs: Really fix #48695.
423
424 Sat Sep 27 16:17:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
425
426         * ILGenerator.cs: instance fields are loaded from this.
427
428 2003-09-26  Zoltan Varga  <vargaz@freemail.hu>
429
430         * TypeBuilder.cs (DefineDefaultConstructor): Make this work on types
431         without a parent. Fixes #48695.
432
433 2003-09-17  Martin Baulig  <martin@ximian.com>
434
435         * TypeBuilder.cs (TypeBuilder.CreateType): Don't append the type
436         parameters to the type name; ie. use `Stack' instead of `Stack<T>'.
437
438 2003-09-06  Martin Baulig  <martin@ximian.com>
439
440         * TypeBuilder.cs (TypeBuilder.IsUnboundGenericParameter): Implemented.
441
442 2003-09-04  Martin Baulig  <martin@ximian.com>
443
444         * TypeBuilder.cs (TypeBuilder.MonoGenericParam): Make this nested
445         class internal, not protected.
446
447 2003-08-29  Martin Baulig  <martin@ximian.com>
448
449         * TypeBuilder.cs (TypeBuilder.DefineGenericParameter): New public
450         method.  We can now create generic types.
451         (TypeBuilder.GetGenericTypeDefinition): Override this; call the
452         `setup_internal_class' interncall before calling our base impl.
453
454 Sat Aug  2 13:04:55 BST 2003 Malte Hildingson <malte@amy.udd.htu.se>
455
456         * ILGenerator.cs: Emission of doubles now utilise the Double.AssertEndianity
457         icall to assert double word endianity on ARM.
458
459 2003-07-25  Duncan Mak  <duncan@ximian.com>
460
461         * OpCodes.cs (Boxval): Marked with ObsoleteAttribute.
462
463 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
464
465         * TypeBuilder.cs: Added generics stubs.
466
467         * EnumBuilder.cs: Added generics  stubs, changed bracing style for
468         routines.
469
470 2003-07-23  Duncan Mak  <duncan@ximian.com>
471
472         * SignatureHelper.cs: This class does not have the
473         SerializableAttribute.
474
475 2003-07-11  Zoltan Varga  <vargaz@freemail.hu>
476
477         * AssemblyBuilder.cs: Added argument checking to all methods according
478         to the MSDN docs. Also marked DefineUnmanagedResource and its friends
479         as not implemented.
480         * ModuleBuilder.cs: Added new property FileName used by AssemblyBuilder.
481         * ModuleBuilder.cs AssemblyBuilder.cs: Implemented IsTransient ().
482
483 2003-06-15  Zoltan Varga  <vargaz@freemail.hu>
484
485         * EventBuilder.cs: Add argument checking to methods.
486
487 Thu Jun 5 20:18:55 CEST 2003 Paolo Molaro <lupus@ximian.com>
488
489         * AssemblyBuilder.cs: implemented DefineResource ().
490
491 Thu Jun 5 12:36:34 CEST 2003 Paolo Molaro <lupus@ximian.com>
492
493         * OpCode.cs: implemented Equals/GetHashCode.
494
495 Tue Jun 3 11:14:51 CEST 2003 Paolo Molaro <lupus@ximian.com>
496
497         * ILGenerator.cs, OpCode.cs: optimize opcode space usage.
498
499 Tue Jun 3 11:13:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
500
501         * UnmanagedMarshal.cs: add ability to define custom attributes (the MS
502         runtime doesn't support this).
503
504 2003-05-30  Zoltan Varga  <vargaz@freemail.hu>
505
506         * TypeBuilder.cs: Implement DefineTypeInitializer.
507
508 2003-05-21  Zoltan Varga  <vargaz@freemail.hu>
509
510         * ModuleBuilder.cs: 
511         - Implement DefineInitializedData in terms of DefineUninitializedData
512         - Name the types of global fields $ArrayType$<len> to cut back on the
513         number of types created
514         - Add argument checking
515
516 2003-05-19  Zoltan Varga  <vargaz@freemail.hu>
517
518         * AssemblyBuilder.cs: Implement GetDynamicModule. "Implement" various
519         methods not supported under MS.NET.
520
521 2003-05-18  Martin Baulig  <martin@ximian.com>
522
523         * AssemblyBuilder.cs (corlib_void_type): New internal field.
524         (SetCorlibTypeBuilders): Added overloaded version which takes 4
525         arguments to set the `corlib_void_type'.
526
527         * TypeBuilder.cs: Use `pmodule.assemblyb.corlib_void_type' instead
528         of `typeof (void)' to make this work when compiling corlib.
529
530 Thu May 15 19:16:54 CEST 2003 Paolo Molaro <lupus@ximian.com>
531
532         * MethodBuilder.cs: off by one in CreateMethodBody().
533         * TypeBuilder.cs: if the return type for a method is null, use void.
534
535 2003-04-28  Miguel de Icaza  <miguel@ximian.com>
536
537         * MethodBuilder.cs: Mono allows the parameter position to be zero
538         to indicate the "returns:" attribute.
539
540 2003-04-20  Miguel de Icaza  <miguel@ximian.com>
541
542         * ILGenerator.cs (EmitCall): Implement.
543
544         Flag a few unimplemented methods with MonoTODO, make coding style
545         for method definitions Mono consistent.
546
547 2003-04-17  Zoltan Varga  <vargaz@freemail.hu>
548
549         * ILGenerator.cs: Implement EmitWriteLine methods.
550
551         * TypeBuilder.cs (CreateType): Avoid creating a default constructor
552         for the global type.
553
554 2003-04-15  Miguel de Icaza  <miguel@ximian.com>
555
556         * TypeBuilder.cs (DefineDefaultConstructor): Make it generate code
557         by default for a default constructor.  This is what the MS runtime
558         does.  The PythonNet code expected this.
559
560         (TypeBuilder.GetConstructorImpl): Implement this.
561
562         (TypeBuilder.CreateType): If there are no constructors defined, we
563         create one.
564
565 Tue Apr 15 13:50:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
566
567         * ModuleBuilder.cs, TypeBuilder.cs: set nesting_type before
568         calling setup_internal_class ().
569
570 2003-03-27  Zoltan Varga  <vargaz@freemail.hu>
571
572         * AssemblyBuilder.cs: Added 'access' member, which is needed by the
573         runtime.
574
575 2003-03-26  Zoltan Varga  <vargaz@freemail.hu>
576
577         * ILGenerator.cs: Implemented ThrowException.
578
579 2003-03-10  Zoltan Varga  <vargaz@freemail.hu>
580
581         * ILGenerator.cs: Propagate maxstack info along branches.
582
583 2003-03-06  Zoltan Varga  <vargaz@freemail.hu>
584
585         * ILGenerator.cs (Emit): Do not pop the arguments off the stack for
586         ldftn etc. Fixes bug #39196.
587
588 2003-02-28  Zoltan Varga  <vargaz@freemail.hu>
589
590         * ILGenerator.cs (Emit): Add fixup for already created methods and
591         fields. Do not add fixup for types since their table index do not 
592         change any more.
593
594 2003-02-26  Zoltan Varga  <vargaz@freemail.hu>
595
596         * TypeBuilder.cs (DefineInitializedData): Removed unnecessary assignments.
597
598         * ModuleBuilder.cs (DefineInitializedData): Do not call 
599         TypeBuilder::DefineInitializedData since that would mean defining a
600         nested type of the global type, which is wrong. Instead define a
601         new public type as MS does.
602
603         * ModuleBuilder.cs (DefineUninitializedData): Ditto.
604
605 Thu Feb 13 18:40:52 CET 2003 Paolo Molaro <lupus@ximian.com>
606
607         * ModuleBuilder.cs: add the basic initialization call.
608
609 2003-02-13  Zoltan Varga  <vargaz@freemail.hu>
610
611         * AssemblyBuilder.cs: Added basic error checking to some methods
612         according to the MSDN docs.
613
614 2003-02-10  Zoltan Varga  <vargaz@freemail.hu>
615
616         * ConstructorBuilder.cs: 
617         - Added basic error checking to all methods according to the MSDN docs.
618         - modified a lot of methods to throw NotSupportedException, to comply
619           with MS.NET.
620
621 2003-02-09  Zoltan Varga  <vargaz@freemail.hu>
622
623         * TypeBuilder.cs:
624         - Added basic error checking to all methods according to the MSDN docs.
625         - fixed AssemblyQualifiedName.
626         - implemented 'Size'.
627         - modified a lot of methods to throw NotSupportedException, to comply
628           with MS.NET.
629         - changes tested by running a full bootstrap.
630
631 2003-02-09  Martin Baulig  <martin@ximian.com>
632
633         * AssemblyBuilder.cs (AssemblyBuilder.methods): Removed.  This was
634         a hack for the symbol writer which is no longer needed.
635
636 2003-02-09  Martin Baulig  <martin@ximian.com>
637
638         * IMonoSymbolWriter.cs (DefineNamespace, OpenMethod): New methods.
639
640 2003-02-09  Martin Baulig  <martin@ximian.com>
641
642         * IMonoSymbolWriter.cs (MarkSequencePoint): New method which takes
643         just the required arguments as scalars, not arrays.
644
645         * ILGenerator.cs (ILGenerator.MarkSequencePoint): Use that new
646         interface method; unnecessarily creating such a large number of
647         arrays is both slow and too memory consuming.   
648
649 2003-02-08  Zoltan Varga  <vargaz@freemail.hu>
650
651         * MethodBuilder.cs: Added error checking to methods so they conform to
652         MSDN docs. Implemented 'GetModule' and 'CallingConvention' members. 
653         Some other tweaks to improve compatibility with MS .NET.
654
655         * TypeBuilder.cs: Added 'is_created' property which will be used for
656         checking 'type is already created' errors.
657
658 2003-02-07  Martin Baulig  <martin@ximian.com>
659
660         * ModuleBuilder.cs (.ctor): Added `bool IsMainModule' argument.
661         (Save): New internal method; creates the module's symbol file if
662         we're compiling with debugging information.
663
664         * AssemblyBuilder.cs (EmbedResource): Added internal overloaded
665         version of this method which takes a `byte[] blob' instead of a file.
666         (DefineDynamicMethod): If this is the first module, tell the
667         ModuleBuilder that this is the main module.
668         (Save): Call a new interncall `build_metadata' to create the final
669         metadata and save all the symbol files before creating the actual
670         output.
671
672         * IMonoSymbolWriter.cs: New public class; it is in the namespace
673         Mono.CSharp.Debugger.  The Mono symbol writer implements this interface.
674
675 2003-02-04  Zoltan Varga  <vargaz@freemail.hu>
676
677         * AssemblyBuilder.cs: added GetToken (SignatureHelper).
678
679         * ILGenerator.cs: implemented EmitCalli() methods
680
681         * SignatureHelper.cs: implemented GetMethoSigHelper() methods.
682
683 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
684
685         * MethodBuilder.cs: GetBaseDefinition () returns this.
686
687 Mon Jan 27 17:07:38 CET 2003 Paolo Molaro <lupus@ximian.com>
688
689         * CustomAttributeBuilder.cs, FieldBuilder.cs: applied
690         (reformatted) patch from "Jerome Laban" <jlaban@wanadoo.fr>
691         to fix ByValStr and ByValArray encodings.
692
693 2003-01-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
694
695         * AssemblyBuilder.cs: fixed compilation with csc.
696
697 2003-01-26  Miguel de Icaza  <miguel@ximian.com>
698
699         * AssemblyBuilder.cs (Save): Set the executable bit at the end.
700         This uses a non-official enumeration value to call SetFileAttributes.
701
702 2003-01-17  Zoltan Varga  <vargaz@freemail.hu>
703
704         * MethodBuilder.cs ConstructorBuilder.cs: modify GetParameters() so it
705         returns information even when the app did not use DefineParameter() to
706         define the parameters.
707
708         * ConstructorBuilder.cs (ctor): allways define SpecialName attribute
709         for constructors as done by MS.
710
711 Mon Jan 13 11:37:14 CET 2003 Paolo Molaro <lupus@ximian.com>
712
713         * TypeBuilder.cs, ModuleBuilder.cs: better type name cache.
714
715 2003-01-10  Zoltan Varga  <vargaz@freemail.hu>
716
717         * ILGenerator.cs: Implemented EmitWriteLine(string).
718
719         * TypeBuilder.cs (DefineInitializedData): Call DefineNestedType() 
720         instead of DefineType() so the auxiliary types do not pollute the 
721         global namespace. This is consistent with the behaviour of MS .NET.
722
723 Fri Jan 10 16:03:30 CET 2003 Paolo Molaro <lupus@ximian.com>
724
725         * ILGenerator.cs, MethodBuilder.cs, TypeBuilder.cs,
726         ConstructorBuilder.cs: some tweaks to reduce memory usage.
727
728 Thu Jan 2 18:46:09 CET 2003 Paolo Molaro <lupus@ximian.com>
729
730         * ModuleBuilder.cs, TypeBuilder.cs: support global fields and methods.
731
732 Thu Dec 19 00:06:57 CET 2002 Paolo Molaro <lupus@ximian.com>
733
734         * AssemblyBuilder.cs: remove duplicated user string entries.
735
736 2002-12-11  Zoltan Varga  <vargaz@freemail.hu>
737
738         * FieldBuilder.cs: added 'handle' field which is needed by some new
739         code in reflection.c.
740
741 2002-12-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
742
743         * TypeBuilder.cs: implemented GetInterfaceMap () when the Type has been
744         created.
745
746 Fri Nov 8 14:53:03 CET 2002 Paolo Molaro <lupus@ximian.com>
747
748         * ILGenerator.cs: account for the exception object being passed to the
749         catch handler to calc max_stack.
750
751 2002-09-21  Martin Baulig  <martin@gnome.org>
752
753         * ModuleBuilder.cs (ModuleBuilder.symbol_writer): Make this
754         field internal, not private.
755         (ModuleBuilder.SymWriter_DefineLocalVariable): Removed.
756
757         * LocalBuilder.cs (LocalBuilder.SetLocalSymInfo): Use the
758         ISymbolWriter's DefineLocalVariable() method instead of the
759         IMonoSymbolWriter hack.
760
761 Mon Sep 16 19:02:58 CEST 2002 Paolo Molaro <lupus@ximian.com>
762
763         * AssemblyBuilder.c: special case some custom attributes.
764
765 2002-09-12  Dick Porter  <dick@ximian.com>
766
767         * TypeBuilder.cs: Say _which_ Type has already been created
768
769 2002-09-11  Miguel de Icaza  <miguel@ximian.com>
770
771         * ModuleBuilder.cs (GetTypes): Implement.
772
773 Tue Sep 10 12:12:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
774
775         * ConstructorBuilder.cs: added a field to hold the handle.
776
777 Mon Sep 9 17:31:12 CEST 2002 Paolo Molaro <lupus@ximian.com>
778
779         * TypeBuilder.cs: prepare for the real CreateType implementation.
780
781 Tue Aug 27 16:57:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
782
783         * TypeBuilder.cs: remove duplicate code and fix
784         named field reading in custom attr.
785
786 2002-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
787
788         * TypeBuilder.cs: UnspecifiedTypeSize is 0.
789
790 Wed Aug 14 17:38:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
791
792         * TypeBuilder.cs: ReflectedType and CreateType fixes.
793
794 Thu Aug 8 10:25:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
795
796         * AssemblyBuilder.cs: added API to embed managed resources.
797
798 2002-08-03  Martin Baulig  <martin@gnome.org>
799
800         * TypeBuilder.cs (TypeBuilder.DeclaringType): Implemented.
801
802 Thu Jul 25 13:57:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
803
804         * AssemblyBuilder.cs: support linking external resources.
805
806 2002-07-19  Martin Baulig  <martin@gnome.org>
807
808         * ILGenerator.cs (Emit (OpCode, LocalBuilder)): Throw an exception
809         when trying to emit a local that was defined in a different ILGenerator.
810
811         * LocalBuilder.cs (LocalBuilder): Added `ILGenetator' argument to
812         the constructor.
813
814 Tue Jul 16 19:32:08 CEST 2002 Paolo Molaro <lupus@ximian.com>
815
816         * ILGenerator.cs: stack size check fix.
817
818 Sat Jul 13 17:30:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
819
820         * AssemblyBuilder.cs: add also the enum_type for compiling corlib.
821         * TypeBuilder.cs: complete IsValueType.
822
823 Sat Jul 13 15:08:12 CEST 2002 Paolo Molaro <lupus@ximian.com>
824
825         * TypeBuilder.cs: better IsValueType.
826
827 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
828
829         * CustomAttributeBuilder.cs: removed compile warning.
830
831 Fri Jul 12 11:34:58 CEST 2002 Paolo Molaro <lupus@ximian.com>
832
833         * ILGenerator.cs: fixup typebuilder tokens as well.
834
835 Tue Jul 9 19:03:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
836
837         * TypeBuilder.cs: special case SerializarionAttribute.
838         Tweaks to get correct code in corlib.
839
840 2002-07-06  Miguel de Icaza  <miguel@ximian.com>
841
842         * ILGenerator.cs (ILGenerator.Emit): For doubles and floats, swap
843         the bytes on big endian systems. 
844
845 2002-07-03  Martin Baulig  <martin@gnome.org>
846
847         * AssemblyBuilder.cs (corlib_object_type, corlib_value_type): Moved
848         these fields up after the last entry in MonoReflectionAssemblyBuilder
849         in reflection.h.
850
851         * TypeBuilder.cs (IsValueTypeImpl): Use the AssemblyBuilder's
852         `corlib_value_type' instead of `typeof (System.ValueType)'.
853         (DefineNestedType): Use the AssemblyBuilder's `corlib_object_type'
854         instead of `typeof (object)'.
855
856 2002-07-02  Martin Baulig  <martin@gnome.org>
857
858         * AssemblyBuilder.cs (corlib_object_type, corlib_value_type): New
859         internal fields.  When compiling corlib, they point to the newly
860         created System.Object and System.ValueType types.
861         (SetCorlibTypeBuilders): New public function.  This will be
862         dynamically called from MCS when compiling corlib.
863
864         * TypeBuilder.cs (DefineInitializedData): Use the AssemblyBuilder's
865         `corlib_value_type' as parent type instead of `typeof (System.ValueType)'
866         to make it work when compiling corlib.
867
868         * ModuleBuilder.cs (assemblyb): Made this field internal, not private.
869
870 Tue Jul 2 18:34:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
871
872         * TypeBuilder.cs: implemented AssemblyQualifiedName.
873         * MethodBuilder.cs, ConstructorBuilder.cs: special case custom attr.
874
875 Mon Jul 1 16:17:29 CEST 2002 Paolo Molaro <lupus@ximian.com>
876
877         * TypeBuilder.cs: implemented AddInterfaceImplementation().
878
879 2002-06-28  Martin Baulig  <martin@gnome.org>
880
881         * MethodBuilder.cs (GetParameters): Return all parameters, not all
882         but the last one.
883
884 2002-06-27  Martin Baulig  <martin@gnome.org>
885
886         * ConstructorBuilder.cs (GetParameters): Implemented.
887
888 Mon Jun 17 14:55:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
889
890         * ModuleBuilder.cs, TypeBuilder.cs: fixes for nested types handling.
891
892 Fri Jun 14 16:21:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
893
894         * CustomAttributeBuilder.cs: added custom attribute related internal
895         helper methods.
896         * FieldBuilder.cs, ParameterBuilder.cs: handle MarshalAs attribute.
897         * UnmanagedMarshal.cs: implemented.
898
899 Mon Jun 10 18:58:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
900
901         * PropertyBuilder.cs: implemented ReflectedType and DeclaringType
902         properties.
903
904 2002-06-07  Martin Baulig  <martin@gnome.org>
905
906         * TypeBuilder.cs (TypeBuilder): Added `PackingSize packing_size' and
907         `int type_size' fields to the constructor.
908         (DefineNestedType): Pass packing_size and type_size to the constructor.
909
910         * ModuleBuilder.cs (DefineType): Pass the packing_size and type_size
911         fields to the TypeBuilder's constructor.
912
913 2002-06-07  Martin Baulig  <martin@gnome.org>
914
915         * TypeBuilder.cs (DefineNestedType): There is no overload for this
916         method which takes 5 args in the specs, removed it.
917
918 Fri Jun 7 17:04:06 CEST 2002 Paolo Molaro <lupus@ximian.com>
919
920         * AssemblyBuilder.cs: updates for PE/COFF rewrite.
921
922 2002-05-30  Martin Baulig  <martin@gnome.org>
923
924         * AssemblyBuilder.cs (methods): Made this internal and don't
925         initialize it.  It will be initialized by the ModuleBuilder's
926         GetSymbolWriter() method.
927         (get_next_table_index): Only store the method in the `methods'
928         array if it's not null.
929
930         * ModuleBuilder.cs (GetSymbolWriter): Initialize the AssemblyBuilder's
931         `methods' field if necessary and pass it as third argument to the
932         symbol writer's constructor.
933
934 2002-05-25  Martin Baulig  <martin@gnome.org>
935
936         * TypeBuilder.cs (TypeToken): Implemented.
937
938 2002-05-24  Martin Baulig  <martin@gnome.org>
939
940         * ModuleBuilder.cs (symwriter_define_local): New private variable.
941         (GetSymbolWriter): Look for a custom version of "DefineLocalVariable"
942         and store it in `symwriter_define_local'.
943         (SymWriter_DefineLocalVariable): New internal method to call the
944         symbol writer's custom DefineLocalVariable() method.  It is safe to
945         call this method if there's no symbol writer.
946
947         * LocalBuilder.cs (SetLocalSymInfo): Use the MethodBuilder'snew
948         SymWriter_DefineLocalVariable().
949
950         * MethodBuilder.cs (GetParameters): Implemented.
951
952 2002-05-22  Martin Baulig  <martin@gnome.org>
953
954         * ModuleBuilder.cs (GetSymbolWriter): Pass the this pointer to the
955         symbol writer's constructor.
956
957 2002-05-22  Martin Baulig  <martin@gnome.org>
958
959         * AssemblyBuilder.cs (methods): New field.
960         (get_next_table_index): Record all methods and constructors
961         (table 0x06) in the `methods' array.  This is read by the
962         Mono.CSharp.Debugger.MonoSymbolWriter::get_method interncall to
963         get the MethodBuilder / ConstructorBuilder back from the token.
964
965         * *Builder.cs (get_next_table_index): Added `object obj' argument.
966         (<constructors>): pass the this pointer to get_next_table_index ().
967
968 2002-05-20  Martin Baulig  <martin@gnome.org>
969
970         * TypeBuilder.cs (DefineField): Call the new `create_internal_class'
971         interncall after adding the first field.  This is used when creating
972         enum types to set `klass->enum_basetype'.
973
974 Thu May 16 16:09:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
975
976         * TypeBuilder.cs: complete special acse support for CharSet, Size and
977         Pack named args in StructLayout attribute.
978
979 Tue May 14 17:13:48 CEST 2002 Paolo Molaro <lupus@ximian.com>
980
981         * MethodBuilder.cs: revert change in accessibility of
982         GetILGenerator(int).
983
984 Tue May 14 13:31:17 CEST 2002 Paolo Molaro <lupus@ximian.com>
985
986         * FieldBuilder.cs, ParameterBuilder.cs: more special-casing of
987         attributes.
988
989 Fri May 10 20:57:27 CEST 2002 Paolo Molaro <lupus@ximian.com>
990
991         * CustomAttributeBuilder.cs: expose internal data for use in
992         reflection.
993         * FieldBuilder.cs, TypeBuilder.cs: special case FieldOffset and
994         StructLayout attributes.
995
996 Fri May 10 16:30:57 CEST 2002 Paolo Molaro <lupus@ximian.com>
997
998         * MethodBuilder.cs, ConstructorBuilder.cs: implemented InitLocals
999         property.
1000
1001 2002-04-26  Martin Baulig  <martin@gnome.org>
1002
1003         * ModuleBuilder.cs (DefineDocument): Implemented.
1004
1005 Tue Apr 16 13:02:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
1006
1007         * AssemblyBuilder.cs: pad output file to file alignment.
1008         * FieldBuilder.cs: ReflectedType.
1009         * ModuleBuilder.cs: added guid generation and array method creation.
1010         * MonoArrayMethod.cs: array method support code.
1011         
1012 Wed Apr 10 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
1013
1014         * ILGenerator.cs: use a stack to keep track of exception blocks.
1015
1016 Mon Apr  8 06:19:01  2002 Piers Haken <piersh@friskit.com>
1017
1018         * ILGenerator.cs: added LabelField.label_base to allow for
1019         arbitrary offsets (for switch statement)
1020
1021 Fri Apr 5 15:41:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
1022
1023         * AssemblyBuilder.cs: simpler protocol wih the runtime to
1024         get the assembly data.
1025
1026 Tue Mar 26 20:10:24 CET 2002 Paolo Molaro <lupus@ximian.com>
1027
1028         * AssemblyBuilder.cs: use FileMode.Create.
1029         * ILGenerator.cs: optimize localbuilder related opcodes.
1030         Track parameters to adjust maxstack.
1031         * LocalBuilder.cS: use unsigned for position.
1032
1033 2002-03-23  Miguel de Icaza  <miguel@ximian.com>
1034
1035         * LocalBuilder.cs: Drop the symbol_writer as LocalBuilder fields.
1036         Do this lazily in SetLocalSymInfo.
1037         
1038 2002-03-24  Martin Baulig  <martin@gnome.org>
1039
1040         * ModuleBuilder.cs (GetSymbolWriter): The MonoSymbolWriter's constructor
1041         now takes a `string assembly_filename' argument, pass it our fully
1042         qualified assembly name.
1043
1044 2002-03-24  Nick Drochak  <ndrochak@gol.com>
1045
1046         * ILGenerator.cs: Use #if-#endif instead of if(false){} to disable
1047         code.  This way there is no compiler warning.
1048
1049         * TypeBuilder.cs: Removed the returns that came after the throws.
1050         This removes a few more compiler warnings. Also marked with MonoTODO
1051         all places where we throw NotImplemented exceptions.
1052
1053 2002-03-23  Martin Baulig  <martin@gnome.org>
1054
1055         * SignatureHelper.cs (GetFieldSignatureHelper, GetLocalSignatureHelper):
1056         Implemented.
1057
1058         * LocalBuilder.cs (LocalBuilder): This internal constructor now takes
1059         a ModuleBuilder argument instead of a ISymbolWriter one.
1060         (SetLocalSymInfo): Create and pass type signature to DefineLocalVariable.
1061
1062 2002-03-23  Martin Baulig  <martin@gnome.org>
1063
1064         * ILGenerator.cs (BeginScope, EndScope): Implemented.
1065
1066 2002-03-20  Martin Baulig  <martin@gnome.org>
1067
1068         * ModuleBuilder.cs (GetSymbolWriter): New internal function. Dynamically
1069         loads the default symbol writer, catch all possible exceptions and return
1070         null on failure.
1071         (ModuleBuilder): Added `bool emitSymbolInfo' argument to this internal
1072         constructor; if set, call GetSymbolWriter ().
1073         (GetSymWriter): Implemented.
1074
1075         * LocalBuilder.cs (LocalBuilder): Added ISymbolWriter argument to this
1076         internal method.
1077         (SetLocalSymInfo): Implemented, call ISymbolWriter.DefineLocalVariable ()
1078         if the symbol writer is not null.
1079
1080         * ILGenerator.cs (ILGenerator): Call ModuleBuilder.GetSymWriter () to get
1081         and store the symbol writer.
1082         (DeclareLocal): Pass the symbol writer to LocalBuilder's constructor.
1083         (MarkSequencePoint): Implemented, call ISymbolWriter.DefineSequencePoints ()
1084         if the symbol writer is not null.
1085
1086         * AssemblyBuilder.cs (DefineDynamicModule): Pass the `bool emitSymbolInfo'
1087         to ModuleBuilder's constructor.
1088
1089 Sat Mar 16 19:11:47 CET 2002 Paolo Molaro <lupus@ximian.com>
1090
1091         * ModuleBuilder.cs: handle modified types correctly.
1092
1093 Thu Mar 7 17:10:42 CET 2002 Paolo Molaro <lupus@ximian.com>
1094
1095         * AssemblyBuilder.cs: allow saving bigger assemblies.
1096         * ILGenerator.cs: add fixup table for fields and methods, since
1097         at the end of the compile they may end up with a different table
1098         index.
1099         * ModuleBuilder.cs: add cache for type names to speed up the type
1100         lookups from the compiler.
1101         * TypeBuilder.cs: GetInterfaces () returns only interfaces in the
1102         current type, not in parents (the docs are wrong).
1103
1104 Tue Mar 5 18:09:34 CET 2002 Paolo Molaro <lupus@ximian.com>
1105
1106         * EventBuilder.cs: implemented.
1107         * TypeBuilder.cs: implemented DefineEvent() method and UnderlyingSystemType
1108         property.
1109
1110 Mon Mar 4 20:34:52 CET 2002 Paolo Molaro <lupus@ximian.com>
1111
1112         * ILGenerator.cs: make enough room in the byte array for string
1113         tokens.
1114         * TypeBuilder.cs: fixed GetInterfaces().
1115
1116 Mon Mar 4 11:30:40 CET 2002 Paolo Molaro <lupus@ximian.com>
1117
1118         * TypeBuilder.cs: implemented GetConstructors(), GetFields(),
1119         GetMethods(), GetProperties().
1120
1121 Thu Feb 28 19:15:10 CET 2002 Paolo Molaro <lupus@ximian.com>
1122
1123         * AssemblyBuilder.cs: call into the runtime to init some basic
1124         assembly stuff. Reserve slot 1 of typedef table for .<Module>.
1125         * ModuleBuilder.cs: call into the runtime if we need to create a
1126         modief type, such as arrays, byref etc.
1127         * TypeBuilder.cs: call into the runtime to create the MonoClass
1128         representation for the type. Throw exceptions with not implemented
1129         stuff.
1130
1131 Wed Feb 27 18:48:47 CET 2002 Paolo Molaro <lupus@ximian.com>
1132
1133         * ILGenerator.cs: fix nested exception blocks.
1134
1135 Wed Feb 20 22:30:49 CET 2002 Paolo Molaro <lupus@ximian.com>
1136
1137         * AssemblyBuilder.cs: upped compiled assembly size limit.
1138         Implemented SetCustomAttribute () methods.
1139         * CustomAttributeBuilder.cs: implemented the needed constructor
1140         stuff.
1141         * Cosntructorbuilder.cs, EnumBuilder.cs, FieldBuilder.cs,
1142         MethodBuilder.cs, ModuleBuilder.cs, ParameterBuilder.cs,
1143         PropertyBuilder.cs, TypeBuilder.cs: Implemented SetCustomAttribute () methods.
1144
1145 Wed Feb 20 14:54:01 CET 2002 Paolo Molaro <lupus@ximian.com>
1146
1147         * AssemblyBuilder.cs: add SetCustomAttribute () to keep the compiler
1148         going.
1149
1150 Fri Feb 15 18:15:04 CET 2002 Paolo Molaro <lupus@ximian.com>
1151
1152         * ILGenerator.cs: finally block support and fixes.
1153
1154 Thu Feb 14 18:55:52 CET 2002 Paolo Molaro <lupus@ximian.com>
1155
1156         * FieldBuilder.cs: Add SetRVAData().
1157         * ILGenerator.cs: speed up code array growth.
1158         * TypeBuilder.cs: fix IsValueTypeImpl(). Add class_size member.
1159         Implement DefineInitializedData().
1160
1161 Tue Jan 22 23:01:11 CET 2002 Paolo Molaro <lupus@ximian.com>
1162
1163         * EnumBuilder.cs, TypeBuilder.cs: updates for changes in Type.cs.
1164         * ModuleBuilder.cs: fix lookup of nested types.
1165
1166 Tue Jan 15 22:46:21 CET 2002 Paolo Molaro <lupus@ximian.com>
1167
1168         * ILGenerator.cs: implement some of the exception support methods.
1169
1170 Mon Jan 14 17:07:32 CET 2002 Paolo Molaro <lupus@ximian.com>
1171
1172         * ModulerBuilder.cs: search also for subtypes in GetTypes().
1173         * TypeBuilder.cs: bugfix in FullName. Implemented DefineNestedType().
1174
1175 Fri Jan 11 19:00:29 CET 2002 Paolo Molaro <lupus@ximian.com>
1176
1177         * MethodBuilder.cs, ConstructorBuilder.cs: save parameter info.
1178
1179 Thu Jan 10 21:07:54 CET 2002 Paolo Molaro <lupus@ximian.com>
1180
1181         * ILGenerator.cs: handle type tokens (used for box opcode).
1182
1183 Wed Jan 9 19:37:55 CET 2002 Paolo Molaro <lupus@ximian.com>
1184
1185         * ILGenerator.cs: emit float and doubles.
1186         * ModuleBuilder.cs: off-by-one error fix and GetType()
1187         implementations.
1188         * TypeBuilder.cs: AttributesImpl added.
1189         * UnmanagedMarshal.cs: stubbed out class.
1190
1191 Sat Jan 5 15:59:05 CET 2002 Paolo Molaro <lupus@ximian.com>
1192
1193         * ILGenerator.cs: fix emission of two-bytes opcodes.
1194         Missing slot for locals array. Throw exceptions on unimplemented
1195         methods.
1196         * OpCode.cs: add a comment: the Value property is useless.
1197         * OpCodes.cs: fix name of tail opcode (Tail -> Tailcall).
1198
1199 2002-01-05  Ravi Pratap  <ravi@ximian.com>
1200
1201         * ConstructorBuilder.cs : Use the MonoTODO attribute.
1202
1203         * ILGenerator.cs, Label.cs, MethodBuilder.cs, ModuleBuilder.cs,
1204         ParameterBuilder.cs, TypeBuilder.cs : Ditto.
1205         
1206 Thu Jan 3 23:26:15 CET 2002 Paolo Molaro <lupus@ximian.com>
1207
1208         * ILGenerator.cs: typo fix.
1209
1210 Mon Dec 24 17:21:30 CET 2001 Paolo Molaro <lupus@ximian.com>
1211
1212         * TypeBuilder.cs: added DefineMethodOverride().
1213         * MethodBuilder.cs: add override_method member and setter.
1214
1215 Mon Nov 19 13:58:01 CET 2001 Paolo Molaro <lupus@ximian.com>
1216
1217         * AssemblyBuilder.cs: add method to register a string in the "#US"
1218         stream.
1219         * EnumBuilder.cs, SignatureHelper.cs: added stubs.
1220         * ILGenerator.cs: more stuff implemented.
1221         * LocalBuilder.cs: keep track of local var index.
1222
1223 Thu Nov 15 18:11:23 CET 2001 Paolo Molaro <lupus@ximian.com>
1224
1225         * ConstructorBuilder.cs: implement the interesting methods.
1226         * ILGenerator.cs: adapt for use with both a MethodBuilder and a
1227         ConstructorBuilder.
1228         * MethodBuilder.cs: add ImplAttributes.
1229         * ParameterBuilder.cs: adapt for ConstructorBuilder.
1230         * TypeBuilder.cs: add constructors handling.
1231
1232 Wed Nov 14 17:01:45 CET 2001 Paolo Molaro <lupus@ximian.com>
1233
1234         * ConstructorBuilder.cs: added missing stubs and some implementation.
1235         * CustomAttributeBuilder.cs: added.
1236         * EventBuilder.cs: added.
1237         * FieldBuilder.cs: updates.
1238         * MethodBuilder.cs: stuff to implement P/Invoke methods.
1239         * ModuleBuilder.cs: added GetArrayMethod() stub.
1240         * ParameterBuilder.cs, PropertyBuilder.cs: updates.
1241         * TypeBuilder.cs: updates and stubs.
1242
1243 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
1244
1245         * TypeBuilder.cs: Added implementation for TypeHandle.
1246
1247 Tue Nov 6 09:13:45 CET 2001 Paolo Molaro <lupus@ximian.com>
1248
1249         * AssemblyBuilder.cs: define an internal constructor.
1250
1251 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
1252
1253         * AssemblyBuilder.cs: Reformatted.
1254
1255         Added override keywords to those that needed them.
1256
1257         Removed methods that we do not override, but just inherit
1258
1259 Tue Sep 25 16:53:08 CEST 2001 Paolo Molaro <lupus@ximian.com>
1260
1261         * TypeBuilder.cs, ConstructorBuilder.cs, ModuleBuilder.cs: added.