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