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