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