1 2003-09-06 Martin Baulig <martin@ximian.com>
3 * TypeBuilder.cs (TypeBuilder.IsUnboundGenericParameter): Implemented.
5 2003-09-04 Martin Baulig <martin@ximian.com>
7 * TypeBuilder.cs (TypeBuilder.MonoGenericParam): Make this nested
8 class internal, not protected.
10 2003-08-29 Martin Baulig <martin@ximian.com>
12 * TypeBuilder.cs (TypeBuilder.DefineGenericParameter): New public
13 method. We can now create generic types.
14 (TypeBuilder.GetGenericTypeDefinition): Override this; call the
15 `setup_internal_class' interncall before calling our base impl.
17 Sat Aug 2 13:04:55 BST 2003 Malte Hildingson <malte@amy.udd.htu.se>
19 * ILGenerator.cs: Emission of doubles now utilise the Double.AssertEndianity
20 icall to assert double word endianity on ARM.
22 2003-07-25 Duncan Mak <duncan@ximian.com>
24 * OpCodes.cs (Boxval): Marked with ObsoleteAttribute.
26 2003-07-24 Miguel de Icaza <miguel@ximian.com>
28 * TypeBuilder.cs: Added generics stubs.
30 * EnumBuilder.cs: Added generics stubs, changed bracing style for
33 2003-07-23 Duncan Mak <duncan@ximian.com>
35 * SignatureHelper.cs: This class does not have the
36 SerializableAttribute.
38 2003-07-11 Zoltan Varga <vargaz@freemail.hu>
40 * AssemblyBuilder.cs: Added argument checking to all methods according
41 to the MSDN docs. Also marked DefineUnmanagedResource and its friends
43 * ModuleBuilder.cs: Added new property FileName used by AssemblyBuilder.
44 * ModuleBuilder.cs AssemblyBuilder.cs: Implemented IsTransient ().
46 2003-06-15 Zoltan Varga <vargaz@freemail.hu>
48 * EventBuilder.cs: Add argument checking to methods.
50 Thu Jun 5 20:18:55 CEST 2003 Paolo Molaro <lupus@ximian.com>
52 * AssemblyBuilder.cs: implemented DefineResource ().
54 Thu Jun 5 12:36:34 CEST 2003 Paolo Molaro <lupus@ximian.com>
56 * OpCode.cs: implemented Equals/GetHashCode.
58 Tue Jun 3 11:14:51 CEST 2003 Paolo Molaro <lupus@ximian.com>
60 * ILGenerator.cs, OpCode.cs: optimize opcode space usage.
62 Tue Jun 3 11:13:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
64 * UnmanagedMarshal.cs: add ability to define custom attributes (the MS
65 runtime doesn't support this).
67 2003-05-30 Zoltan Varga <vargaz@freemail.hu>
69 * TypeBuilder.cs: Implement DefineTypeInitializer.
71 2003-05-21 Zoltan Varga <vargaz@freemail.hu>
74 - Implement DefineInitializedData in terms of DefineUninitializedData
75 - Name the types of global fields $ArrayType$<len> to cut back on the
76 number of types created
77 - Add argument checking
79 2003-05-19 Zoltan Varga <vargaz@freemail.hu>
81 * AssemblyBuilder.cs: Implement GetDynamicModule. "Implement" various
82 methods not supported under MS.NET.
84 2003-05-18 Martin Baulig <martin@ximian.com>
86 * AssemblyBuilder.cs (corlib_void_type): New internal field.
87 (SetCorlibTypeBuilders): Added overloaded version which takes 4
88 arguments to set the `corlib_void_type'.
90 * TypeBuilder.cs: Use `pmodule.assemblyb.corlib_void_type' instead
91 of `typeof (void)' to make this work when compiling corlib.
93 Thu May 15 19:16:54 CEST 2003 Paolo Molaro <lupus@ximian.com>
95 * MethodBuilder.cs: off by one in CreateMethodBody().
96 * TypeBuilder.cs: if the return type for a method is null, use void.
98 2003-04-28 Miguel de Icaza <miguel@ximian.com>
100 * MethodBuilder.cs: Mono allows the parameter position to be zero
101 to indicate the "returns:" attribute.
103 2003-04-20 Miguel de Icaza <miguel@ximian.com>
105 * ILGenerator.cs (EmitCall): Implement.
107 Flag a few unimplemented methods with MonoTODO, make coding style
108 for method definitions Mono consistent.
110 2003-04-17 Zoltan Varga <vargaz@freemail.hu>
112 * ILGenerator.cs: Implement EmitWriteLine methods.
114 * TypeBuilder.cs (CreateType): Avoid creating a default constructor
117 2003-04-15 Miguel de Icaza <miguel@ximian.com>
119 * TypeBuilder.cs (DefineDefaultConstructor): Make it generate code
120 by default for a default constructor. This is what the MS runtime
121 does. The PythonNet code expected this.
123 (TypeBuilder.GetConstructorImpl): Implement this.
125 (TypeBuilder.CreateType): If there are no constructors defined, we
128 Tue Apr 15 13:50:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
130 * ModuleBuilder.cs, TypeBuilder.cs: set nesting_type before
131 calling setup_internal_class ().
133 2003-03-27 Zoltan Varga <vargaz@freemail.hu>
135 * AssemblyBuilder.cs: Added 'access' member, which is needed by the
138 2003-03-26 Zoltan Varga <vargaz@freemail.hu>
140 * ILGenerator.cs: Implemented ThrowException.
142 2003-03-10 Zoltan Varga <vargaz@freemail.hu>
144 * ILGenerator.cs: Propagate maxstack info along branches.
146 2003-03-06 Zoltan Varga <vargaz@freemail.hu>
148 * ILGenerator.cs (Emit): Do not pop the arguments off the stack for
149 ldftn etc. Fixes bug #39196.
151 2003-02-28 Zoltan Varga <vargaz@freemail.hu>
153 * ILGenerator.cs (Emit): Add fixup for already created methods and
154 fields. Do not add fixup for types since their table index do not
157 2003-02-26 Zoltan Varga <vargaz@freemail.hu>
159 * TypeBuilder.cs (DefineInitializedData): Removed unnecessary assignments.
161 * ModuleBuilder.cs (DefineInitializedData): Do not call
162 TypeBuilder::DefineInitializedData since that would mean defining a
163 nested type of the global type, which is wrong. Instead define a
164 new public type as MS does.
166 * ModuleBuilder.cs (DefineUninitializedData): Ditto.
168 Thu Feb 13 18:40:52 CET 2003 Paolo Molaro <lupus@ximian.com>
170 * ModuleBuilder.cs: add the basic initialization call.
172 2003-02-13 Zoltan Varga <vargaz@freemail.hu>
174 * AssemblyBuilder.cs: Added basic error checking to some methods
175 according to the MSDN docs.
177 2003-02-10 Zoltan Varga <vargaz@freemail.hu>
179 * ConstructorBuilder.cs:
180 - Added basic error checking to all methods according to the MSDN docs.
181 - modified a lot of methods to throw NotSupportedException, to comply
184 2003-02-09 Zoltan Varga <vargaz@freemail.hu>
187 - Added basic error checking to all methods according to the MSDN docs.
188 - fixed AssemblyQualifiedName.
189 - implemented 'Size'.
190 - modified a lot of methods to throw NotSupportedException, to comply
192 - changes tested by running a full bootstrap.
194 2003-02-09 Martin Baulig <martin@ximian.com>
196 * AssemblyBuilder.cs (AssemblyBuilder.methods): Removed. This was
197 a hack for the symbol writer which is no longer needed.
199 2003-02-09 Martin Baulig <martin@ximian.com>
201 * IMonoSymbolWriter.cs (DefineNamespace, OpenMethod): New methods.
203 2003-02-09 Martin Baulig <martin@ximian.com>
205 * IMonoSymbolWriter.cs (MarkSequencePoint): New method which takes
206 just the required arguments as scalars, not arrays.
208 * ILGenerator.cs (ILGenerator.MarkSequencePoint): Use that new
209 interface method; unnecessarily creating such a large number of
210 arrays is both slow and too memory consuming.
212 2003-02-08 Zoltan Varga <vargaz@freemail.hu>
214 * MethodBuilder.cs: Added error checking to methods so they conform to
215 MSDN docs. Implemented 'GetModule' and 'CallingConvention' members.
216 Some other tweaks to improve compatibility with MS .NET.
218 * TypeBuilder.cs: Added 'is_created' property which will be used for
219 checking 'type is already created' errors.
221 2003-02-07 Martin Baulig <martin@ximian.com>
223 * ModuleBuilder.cs (.ctor): Added `bool IsMainModule' argument.
224 (Save): New internal method; creates the module's symbol file if
225 we're compiling with debugging information.
227 * AssemblyBuilder.cs (EmbedResource): Added internal overloaded
228 version of this method which takes a `byte[] blob' instead of a file.
229 (DefineDynamicMethod): If this is the first module, tell the
230 ModuleBuilder that this is the main module.
231 (Save): Call a new interncall `build_metadata' to create the final
232 metadata and save all the symbol files before creating the actual
235 * IMonoSymbolWriter.cs: New public class; it is in the namespace
236 Mono.CSharp.Debugger. The Mono symbol writer implements this interface.
238 2003-02-04 Zoltan Varga <vargaz@freemail.hu>
240 * AssemblyBuilder.cs: added GetToken (SignatureHelper).
242 * ILGenerator.cs: implemented EmitCalli() methods
244 * SignatureHelper.cs: implemented GetMethoSigHelper() methods.
246 2003-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
248 * MethodBuilder.cs: GetBaseDefinition () returns this.
250 Mon Jan 27 17:07:38 CET 2003 Paolo Molaro <lupus@ximian.com>
252 * CustomAttributeBuilder.cs, FieldBuilder.cs: applied
253 (reformatted) patch from "Jerome Laban" <jlaban@wanadoo.fr>
254 to fix ByValStr and ByValArray encodings.
256 2003-01-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
258 * AssemblyBuilder.cs: fixed compilation with csc.
260 2003-01-26 Miguel de Icaza <miguel@ximian.com>
262 * AssemblyBuilder.cs (Save): Set the executable bit at the end.
263 This uses a non-official enumeration value to call SetFileAttributes.
265 2003-01-17 Zoltan Varga <vargaz@freemail.hu>
267 * MethodBuilder.cs ConstructorBuilder.cs: modify GetParameters() so it
268 returns information even when the app did not use DefineParameter() to
269 define the parameters.
271 * ConstructorBuilder.cs (ctor): allways define SpecialName attribute
272 for constructors as done by MS.
274 Mon Jan 13 11:37:14 CET 2003 Paolo Molaro <lupus@ximian.com>
276 * TypeBuilder.cs, ModuleBuilder.cs: better type name cache.
278 2003-01-10 Zoltan Varga <vargaz@freemail.hu>
280 * ILGenerator.cs: Implemented EmitWriteLine(string).
282 * TypeBuilder.cs (DefineInitializedData): Call DefineNestedType()
283 instead of DefineType() so the auxiliary types do not pollute the
284 global namespace. This is consistent with the behaviour of MS .NET.
286 Fri Jan 10 16:03:30 CET 2003 Paolo Molaro <lupus@ximian.com>
288 * ILGenerator.cs, MethodBuilder.cs, TypeBuilder.cs,
289 ConstructorBuilder.cs: some tweaks to reduce memory usage.
291 Thu Jan 2 18:46:09 CET 2003 Paolo Molaro <lupus@ximian.com>
293 * ModuleBuilder.cs, TypeBuilder.cs: support global fields and methods.
295 Thu Dec 19 00:06:57 CET 2002 Paolo Molaro <lupus@ximian.com>
297 * AssemblyBuilder.cs: remove duplicated user string entries.
299 2002-12-11 Zoltan Varga <vargaz@freemail.hu>
301 * FieldBuilder.cs: added 'handle' field which is needed by some new
302 code in reflection.c.
304 2002-12-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
306 * TypeBuilder.cs: implemented GetInterfaceMap () when the Type has been
309 Fri Nov 8 14:53:03 CET 2002 Paolo Molaro <lupus@ximian.com>
311 * ILGenerator.cs: account for the exception object being passed to the
312 catch handler to calc max_stack.
314 2002-09-21 Martin Baulig <martin@gnome.org>
316 * ModuleBuilder.cs (ModuleBuilder.symbol_writer): Make this
317 field internal, not private.
318 (ModuleBuilder.SymWriter_DefineLocalVariable): Removed.
320 * LocalBuilder.cs (LocalBuilder.SetLocalSymInfo): Use the
321 ISymbolWriter's DefineLocalVariable() method instead of the
322 IMonoSymbolWriter hack.
324 Mon Sep 16 19:02:58 CEST 2002 Paolo Molaro <lupus@ximian.com>
326 * AssemblyBuilder.c: special case some custom attributes.
328 2002-09-12 Dick Porter <dick@ximian.com>
330 * TypeBuilder.cs: Say _which_ Type has already been created
332 2002-09-11 Miguel de Icaza <miguel@ximian.com>
334 * ModuleBuilder.cs (GetTypes): Implement.
336 Tue Sep 10 12:12:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
338 * ConstructorBuilder.cs: added a field to hold the handle.
340 Mon Sep 9 17:31:12 CEST 2002 Paolo Molaro <lupus@ximian.com>
342 * TypeBuilder.cs: prepare for the real CreateType implementation.
344 Tue Aug 27 16:57:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
346 * TypeBuilder.cs: remove duplicate code and fix
347 named field reading in custom attr.
349 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
351 * TypeBuilder.cs: UnspecifiedTypeSize is 0.
353 Wed Aug 14 17:38:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
355 * TypeBuilder.cs: ReflectedType and CreateType fixes.
357 Thu Aug 8 10:25:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
359 * AssemblyBuilder.cs: added API to embed managed resources.
361 2002-08-03 Martin Baulig <martin@gnome.org>
363 * TypeBuilder.cs (TypeBuilder.DeclaringType): Implemented.
365 Thu Jul 25 13:57:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
367 * AssemblyBuilder.cs: support linking external resources.
369 2002-07-19 Martin Baulig <martin@gnome.org>
371 * ILGenerator.cs (Emit (OpCode, LocalBuilder)): Throw an exception
372 when trying to emit a local that was defined in a different ILGenerator.
374 * LocalBuilder.cs (LocalBuilder): Added `ILGenetator' argument to
377 Tue Jul 16 19:32:08 CEST 2002 Paolo Molaro <lupus@ximian.com>
379 * ILGenerator.cs: stack size check fix.
381 Sat Jul 13 17:30:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
383 * AssemblyBuilder.cs: add also the enum_type for compiling corlib.
384 * TypeBuilder.cs: complete IsValueType.
386 Sat Jul 13 15:08:12 CEST 2002 Paolo Molaro <lupus@ximian.com>
388 * TypeBuilder.cs: better IsValueType.
390 2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
392 * CustomAttributeBuilder.cs: removed compile warning.
394 Fri Jul 12 11:34:58 CEST 2002 Paolo Molaro <lupus@ximian.com>
396 * ILGenerator.cs: fixup typebuilder tokens as well.
398 Tue Jul 9 19:03:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
400 * TypeBuilder.cs: special case SerializarionAttribute.
401 Tweaks to get correct code in corlib.
403 2002-07-06 Miguel de Icaza <miguel@ximian.com>
405 * ILGenerator.cs (ILGenerator.Emit): For doubles and floats, swap
406 the bytes on big endian systems.
408 2002-07-03 Martin Baulig <martin@gnome.org>
410 * AssemblyBuilder.cs (corlib_object_type, corlib_value_type): Moved
411 these fields up after the last entry in MonoReflectionAssemblyBuilder
414 * TypeBuilder.cs (IsValueTypeImpl): Use the AssemblyBuilder's
415 `corlib_value_type' instead of `typeof (System.ValueType)'.
416 (DefineNestedType): Use the AssemblyBuilder's `corlib_object_type'
417 instead of `typeof (object)'.
419 2002-07-02 Martin Baulig <martin@gnome.org>
421 * AssemblyBuilder.cs (corlib_object_type, corlib_value_type): New
422 internal fields. When compiling corlib, they point to the newly
423 created System.Object and System.ValueType types.
424 (SetCorlibTypeBuilders): New public function. This will be
425 dynamically called from MCS when compiling corlib.
427 * TypeBuilder.cs (DefineInitializedData): Use the AssemblyBuilder's
428 `corlib_value_type' as parent type instead of `typeof (System.ValueType)'
429 to make it work when compiling corlib.
431 * ModuleBuilder.cs (assemblyb): Made this field internal, not private.
433 Tue Jul 2 18:34:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
435 * TypeBuilder.cs: implemented AssemblyQualifiedName.
436 * MethodBuilder.cs, ConstructorBuilder.cs: special case custom attr.
438 Mon Jul 1 16:17:29 CEST 2002 Paolo Molaro <lupus@ximian.com>
440 * TypeBuilder.cs: implemented AddInterfaceImplementation().
442 2002-06-28 Martin Baulig <martin@gnome.org>
444 * MethodBuilder.cs (GetParameters): Return all parameters, not all
447 2002-06-27 Martin Baulig <martin@gnome.org>
449 * ConstructorBuilder.cs (GetParameters): Implemented.
451 Mon Jun 17 14:55:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
453 * ModuleBuilder.cs, TypeBuilder.cs: fixes for nested types handling.
455 Fri Jun 14 16:21:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
457 * CustomAttributeBuilder.cs: added custom attribute related internal
459 * FieldBuilder.cs, ParameterBuilder.cs: handle MarshalAs attribute.
460 * UnmanagedMarshal.cs: implemented.
462 Mon Jun 10 18:58:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
464 * PropertyBuilder.cs: implemented ReflectedType and DeclaringType
467 2002-06-07 Martin Baulig <martin@gnome.org>
469 * TypeBuilder.cs (TypeBuilder): Added `PackingSize packing_size' and
470 `int type_size' fields to the constructor.
471 (DefineNestedType): Pass packing_size and type_size to the constructor.
473 * ModuleBuilder.cs (DefineType): Pass the packing_size and type_size
474 fields to the TypeBuilder's constructor.
476 2002-06-07 Martin Baulig <martin@gnome.org>
478 * TypeBuilder.cs (DefineNestedType): There is no overload for this
479 method which takes 5 args in the specs, removed it.
481 Fri Jun 7 17:04:06 CEST 2002 Paolo Molaro <lupus@ximian.com>
483 * AssemblyBuilder.cs: updates for PE/COFF rewrite.
485 2002-05-30 Martin Baulig <martin@gnome.org>
487 * AssemblyBuilder.cs (methods): Made this internal and don't
488 initialize it. It will be initialized by the ModuleBuilder's
489 GetSymbolWriter() method.
490 (get_next_table_index): Only store the method in the `methods'
491 array if it's not null.
493 * ModuleBuilder.cs (GetSymbolWriter): Initialize the AssemblyBuilder's
494 `methods' field if necessary and pass it as third argument to the
495 symbol writer's constructor.
497 2002-05-25 Martin Baulig <martin@gnome.org>
499 * TypeBuilder.cs (TypeToken): Implemented.
501 2002-05-24 Martin Baulig <martin@gnome.org>
503 * ModuleBuilder.cs (symwriter_define_local): New private variable.
504 (GetSymbolWriter): Look for a custom version of "DefineLocalVariable"
505 and store it in `symwriter_define_local'.
506 (SymWriter_DefineLocalVariable): New internal method to call the
507 symbol writer's custom DefineLocalVariable() method. It is safe to
508 call this method if there's no symbol writer.
510 * LocalBuilder.cs (SetLocalSymInfo): Use the MethodBuilder'snew
511 SymWriter_DefineLocalVariable().
513 * MethodBuilder.cs (GetParameters): Implemented.
515 2002-05-22 Martin Baulig <martin@gnome.org>
517 * ModuleBuilder.cs (GetSymbolWriter): Pass the this pointer to the
518 symbol writer's constructor.
520 2002-05-22 Martin Baulig <martin@gnome.org>
522 * AssemblyBuilder.cs (methods): New field.
523 (get_next_table_index): Record all methods and constructors
524 (table 0x06) in the `methods' array. This is read by the
525 Mono.CSharp.Debugger.MonoSymbolWriter::get_method interncall to
526 get the MethodBuilder / ConstructorBuilder back from the token.
528 * *Builder.cs (get_next_table_index): Added `object obj' argument.
529 (<constructors>): pass the this pointer to get_next_table_index ().
531 2002-05-20 Martin Baulig <martin@gnome.org>
533 * TypeBuilder.cs (DefineField): Call the new `create_internal_class'
534 interncall after adding the first field. This is used when creating
535 enum types to set `klass->enum_basetype'.
537 Thu May 16 16:09:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
539 * TypeBuilder.cs: complete special acse support for CharSet, Size and
540 Pack named args in StructLayout attribute.
542 Tue May 14 17:13:48 CEST 2002 Paolo Molaro <lupus@ximian.com>
544 * MethodBuilder.cs: revert change in accessibility of
547 Tue May 14 13:31:17 CEST 2002 Paolo Molaro <lupus@ximian.com>
549 * FieldBuilder.cs, ParameterBuilder.cs: more special-casing of
552 Fri May 10 20:57:27 CEST 2002 Paolo Molaro <lupus@ximian.com>
554 * CustomAttributeBuilder.cs: expose internal data for use in
556 * FieldBuilder.cs, TypeBuilder.cs: special case FieldOffset and
557 StructLayout attributes.
559 Fri May 10 16:30:57 CEST 2002 Paolo Molaro <lupus@ximian.com>
561 * MethodBuilder.cs, ConstructorBuilder.cs: implemented InitLocals
564 2002-04-26 Martin Baulig <martin@gnome.org>
566 * ModuleBuilder.cs (DefineDocument): Implemented.
568 Tue Apr 16 13:02:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
570 * AssemblyBuilder.cs: pad output file to file alignment.
571 * FieldBuilder.cs: ReflectedType.
572 * ModuleBuilder.cs: added guid generation and array method creation.
573 * MonoArrayMethod.cs: array method support code.
575 Wed Apr 10 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
577 * ILGenerator.cs: use a stack to keep track of exception blocks.
579 Mon Apr 8 06:19:01 2002 Piers Haken <piersh@friskit.com>
581 * ILGenerator.cs: added LabelField.label_base to allow for
582 arbitrary offsets (for switch statement)
584 Fri Apr 5 15:41:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
586 * AssemblyBuilder.cs: simpler protocol wih the runtime to
587 get the assembly data.
589 Tue Mar 26 20:10:24 CET 2002 Paolo Molaro <lupus@ximian.com>
591 * AssemblyBuilder.cs: use FileMode.Create.
592 * ILGenerator.cs: optimize localbuilder related opcodes.
593 Track parameters to adjust maxstack.
594 * LocalBuilder.cS: use unsigned for position.
596 2002-03-23 Miguel de Icaza <miguel@ximian.com>
598 * LocalBuilder.cs: Drop the symbol_writer as LocalBuilder fields.
599 Do this lazily in SetLocalSymInfo.
601 2002-03-24 Martin Baulig <martin@gnome.org>
603 * ModuleBuilder.cs (GetSymbolWriter): The MonoSymbolWriter's constructor
604 now takes a `string assembly_filename' argument, pass it our fully
605 qualified assembly name.
607 2002-03-24 Nick Drochak <ndrochak@gol.com>
609 * ILGenerator.cs: Use #if-#endif instead of if(false){} to disable
610 code. This way there is no compiler warning.
612 * TypeBuilder.cs: Removed the returns that came after the throws.
613 This removes a few more compiler warnings. Also marked with MonoTODO
614 all places where we throw NotImplemented exceptions.
616 2002-03-23 Martin Baulig <martin@gnome.org>
618 * SignatureHelper.cs (GetFieldSignatureHelper, GetLocalSignatureHelper):
621 * LocalBuilder.cs (LocalBuilder): This internal constructor now takes
622 a ModuleBuilder argument instead of a ISymbolWriter one.
623 (SetLocalSymInfo): Create and pass type signature to DefineLocalVariable.
625 2002-03-23 Martin Baulig <martin@gnome.org>
627 * ILGenerator.cs (BeginScope, EndScope): Implemented.
629 2002-03-20 Martin Baulig <martin@gnome.org>
631 * ModuleBuilder.cs (GetSymbolWriter): New internal function. Dynamically
632 loads the default symbol writer, catch all possible exceptions and return
634 (ModuleBuilder): Added `bool emitSymbolInfo' argument to this internal
635 constructor; if set, call GetSymbolWriter ().
636 (GetSymWriter): Implemented.
638 * LocalBuilder.cs (LocalBuilder): Added ISymbolWriter argument to this
640 (SetLocalSymInfo): Implemented, call ISymbolWriter.DefineLocalVariable ()
641 if the symbol writer is not null.
643 * ILGenerator.cs (ILGenerator): Call ModuleBuilder.GetSymWriter () to get
644 and store the symbol writer.
645 (DeclareLocal): Pass the symbol writer to LocalBuilder's constructor.
646 (MarkSequencePoint): Implemented, call ISymbolWriter.DefineSequencePoints ()
647 if the symbol writer is not null.
649 * AssemblyBuilder.cs (DefineDynamicModule): Pass the `bool emitSymbolInfo'
650 to ModuleBuilder's constructor.
652 Sat Mar 16 19:11:47 CET 2002 Paolo Molaro <lupus@ximian.com>
654 * ModuleBuilder.cs: handle modified types correctly.
656 Thu Mar 7 17:10:42 CET 2002 Paolo Molaro <lupus@ximian.com>
658 * AssemblyBuilder.cs: allow saving bigger assemblies.
659 * ILGenerator.cs: add fixup table for fields and methods, since
660 at the end of the compile they may end up with a different table
662 * ModuleBuilder.cs: add cache for type names to speed up the type
663 lookups from the compiler.
664 * TypeBuilder.cs: GetInterfaces () returns only interfaces in the
665 current type, not in parents (the docs are wrong).
667 Tue Mar 5 18:09:34 CET 2002 Paolo Molaro <lupus@ximian.com>
669 * EventBuilder.cs: implemented.
670 * TypeBuilder.cs: implemented DefineEvent() method and UnderlyingSystemType
673 Mon Mar 4 20:34:52 CET 2002 Paolo Molaro <lupus@ximian.com>
675 * ILGenerator.cs: make enough room in the byte array for string
677 * TypeBuilder.cs: fixed GetInterfaces().
679 Mon Mar 4 11:30:40 CET 2002 Paolo Molaro <lupus@ximian.com>
681 * TypeBuilder.cs: implemented GetConstructors(), GetFields(),
682 GetMethods(), GetProperties().
684 Thu Feb 28 19:15:10 CET 2002 Paolo Molaro <lupus@ximian.com>
686 * AssemblyBuilder.cs: call into the runtime to init some basic
687 assembly stuff. Reserve slot 1 of typedef table for .<Module>.
688 * ModuleBuilder.cs: call into the runtime if we need to create a
689 modief type, such as arrays, byref etc.
690 * TypeBuilder.cs: call into the runtime to create the MonoClass
691 representation for the type. Throw exceptions with not implemented
694 Wed Feb 27 18:48:47 CET 2002 Paolo Molaro <lupus@ximian.com>
696 * ILGenerator.cs: fix nested exception blocks.
698 Wed Feb 20 22:30:49 CET 2002 Paolo Molaro <lupus@ximian.com>
700 * AssemblyBuilder.cs: upped compiled assembly size limit.
701 Implemented SetCustomAttribute () methods.
702 * CustomAttributeBuilder.cs: implemented the needed constructor
704 * Cosntructorbuilder.cs, EnumBuilder.cs, FieldBuilder.cs,
705 MethodBuilder.cs, ModuleBuilder.cs, ParameterBuilder.cs,
706 PropertyBuilder.cs, TypeBuilder.cs: Implemented SetCustomAttribute () methods.
708 Wed Feb 20 14:54:01 CET 2002 Paolo Molaro <lupus@ximian.com>
710 * AssemblyBuilder.cs: add SetCustomAttribute () to keep the compiler
713 Fri Feb 15 18:15:04 CET 2002 Paolo Molaro <lupus@ximian.com>
715 * ILGenerator.cs: finally block support and fixes.
717 Thu Feb 14 18:55:52 CET 2002 Paolo Molaro <lupus@ximian.com>
719 * FieldBuilder.cs: Add SetRVAData().
720 * ILGenerator.cs: speed up code array growth.
721 * TypeBuilder.cs: fix IsValueTypeImpl(). Add class_size member.
722 Implement DefineInitializedData().
724 Tue Jan 22 23:01:11 CET 2002 Paolo Molaro <lupus@ximian.com>
726 * EnumBuilder.cs, TypeBuilder.cs: updates for changes in Type.cs.
727 * ModuleBuilder.cs: fix lookup of nested types.
729 Tue Jan 15 22:46:21 CET 2002 Paolo Molaro <lupus@ximian.com>
731 * ILGenerator.cs: implement some of the exception support methods.
733 Mon Jan 14 17:07:32 CET 2002 Paolo Molaro <lupus@ximian.com>
735 * ModulerBuilder.cs: search also for subtypes in GetTypes().
736 * TypeBuilder.cs: bugfix in FullName. Implemented DefineNestedType().
738 Fri Jan 11 19:00:29 CET 2002 Paolo Molaro <lupus@ximian.com>
740 * MethodBuilder.cs, ConstructorBuilder.cs: save parameter info.
742 Thu Jan 10 21:07:54 CET 2002 Paolo Molaro <lupus@ximian.com>
744 * ILGenerator.cs: handle type tokens (used for box opcode).
746 Wed Jan 9 19:37:55 CET 2002 Paolo Molaro <lupus@ximian.com>
748 * ILGenerator.cs: emit float and doubles.
749 * ModuleBuilder.cs: off-by-one error fix and GetType()
751 * TypeBuilder.cs: AttributesImpl added.
752 * UnmanagedMarshal.cs: stubbed out class.
754 Sat Jan 5 15:59:05 CET 2002 Paolo Molaro <lupus@ximian.com>
756 * ILGenerator.cs: fix emission of two-bytes opcodes.
757 Missing slot for locals array. Throw exceptions on unimplemented
759 * OpCode.cs: add a comment: the Value property is useless.
760 * OpCodes.cs: fix name of tail opcode (Tail -> Tailcall).
762 2002-01-05 Ravi Pratap <ravi@ximian.com>
764 * ConstructorBuilder.cs : Use the MonoTODO attribute.
766 * ILGenerator.cs, Label.cs, MethodBuilder.cs, ModuleBuilder.cs,
767 ParameterBuilder.cs, TypeBuilder.cs : Ditto.
769 Thu Jan 3 23:26:15 CET 2002 Paolo Molaro <lupus@ximian.com>
771 * ILGenerator.cs: typo fix.
773 Mon Dec 24 17:21:30 CET 2001 Paolo Molaro <lupus@ximian.com>
775 * TypeBuilder.cs: added DefineMethodOverride().
776 * MethodBuilder.cs: add override_method member and setter.
778 Mon Nov 19 13:58:01 CET 2001 Paolo Molaro <lupus@ximian.com>
780 * AssemblyBuilder.cs: add method to register a string in the "#US"
782 * EnumBuilder.cs, SignatureHelper.cs: added stubs.
783 * ILGenerator.cs: more stuff implemented.
784 * LocalBuilder.cs: keep track of local var index.
786 Thu Nov 15 18:11:23 CET 2001 Paolo Molaro <lupus@ximian.com>
788 * ConstructorBuilder.cs: implement the interesting methods.
789 * ILGenerator.cs: adapt for use with both a MethodBuilder and a
791 * MethodBuilder.cs: add ImplAttributes.
792 * ParameterBuilder.cs: adapt for ConstructorBuilder.
793 * TypeBuilder.cs: add constructors handling.
795 Wed Nov 14 17:01:45 CET 2001 Paolo Molaro <lupus@ximian.com>
797 * ConstructorBuilder.cs: added missing stubs and some implementation.
798 * CustomAttributeBuilder.cs: added.
799 * EventBuilder.cs: added.
800 * FieldBuilder.cs: updates.
801 * MethodBuilder.cs: stuff to implement P/Invoke methods.
802 * ModuleBuilder.cs: added GetArrayMethod() stub.
803 * ParameterBuilder.cs, PropertyBuilder.cs: updates.
804 * TypeBuilder.cs: updates and stubs.
806 2001-11-10 Sean MacIsaac <macisaac@ximian.com>
808 * TypeBuilder.cs: Added implementation for TypeHandle.
810 Tue Nov 6 09:13:45 CET 2001 Paolo Molaro <lupus@ximian.com>
812 * AssemblyBuilder.cs: define an internal constructor.
814 2001-10-07 Miguel de Icaza <miguel@ximian.com>
816 * AssemblyBuilder.cs: Reformatted.
818 Added override keywords to those that needed them.
820 Removed methods that we do not override, but just inherit
822 Tue Sep 25 16:53:08 CEST 2001 Paolo Molaro <lupus@ximian.com>
824 * TypeBuilder.cs, ConstructorBuilder.cs, ModuleBuilder.cs: added.