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