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