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