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