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