ChangeLog 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  1. 2002-05-24 Martin Baulig <[email protected]>
  2. * ModuleBuilder.cs (symwriter_define_local): New private variable.
  3. (GetSymbolWriter): Look for a custom version of "DefineLocalVariable"
  4. and store it in `symwriter_define_local'.
  5. (SymWriter_DefineLocalVariable): New internal method to call the
  6. symbol writer's custom DefineLocalVariable() method. It is safe to
  7. call this method if there's no symbol writer.
  8. * LocalBuilder.cs (SetLocalSymInfo): Use the MethodBuilder'snew
  9. SymWriter_DefineLocalVariable().
  10. * MethodBuilder.cs (GetParameters): Implemented.
  11. 2002-05-22 Martin Baulig <[email protected]>
  12. * ModuleBuilder.cs (GetSymbolWriter): Pass the this pointer to the
  13. symbol writer's constructor.
  14. 2002-05-22 Martin Baulig <[email protected]>
  15. * AssemblyBuilder.cs (methods): New field.
  16. (get_next_table_index): Record all methods and constructors
  17. (table 0x06) in the `methods' array. This is read by the
  18. Mono.CSharp.Debugger.MonoSymbolWriter::get_method interncall to
  19. get the MethodBuilder / ConstructorBuilder back from the token.
  20. * *Builder.cs (get_next_table_index): Added `object obj' argument.
  21. (<constructors>): pass the this pointer to get_next_table_index ().
  22. 2002-05-20 Martin Baulig <[email protected]>
  23. * TypeBuilder.cs (DefineField): Call the new `create_internal_class'
  24. interncall after adding the first field. This is used when creating
  25. enum types to set `klass->enum_basetype'.
  26. Thu May 16 16:09:51 CEST 2002 Paolo Molaro <[email protected]>
  27. * TypeBuilder.cs: complete special acse support for CharSet, Size and
  28. Pack named args in StructLayout attribute.
  29. Tue May 14 17:13:48 CEST 2002 Paolo Molaro <[email protected]>
  30. * MethodBuilder.cs: revert change in accessibility of
  31. GetILGenerator(int).
  32. Tue May 14 13:31:17 CEST 2002 Paolo Molaro <[email protected]>
  33. * FieldBuilder.cs, ParameterBuilder.cs: more special-casing of
  34. attributes.
  35. Fri May 10 20:57:27 CEST 2002 Paolo Molaro <[email protected]>
  36. * CustomAttributeBuilder.cs: expose internal data for use in
  37. reflection.
  38. * FieldBuilder.cs, TypeBuilder.cs: special case FieldOffset and
  39. StructLayout attributes.
  40. Fri May 10 16:30:57 CEST 2002 Paolo Molaro <[email protected]>
  41. * MethodBuilder.cs, ConstructorBuilder.cs: implemented InitLocals
  42. property.
  43. 2002-04-26 Martin Baulig <[email protected]>
  44. * ModuleBuilder.cs (DefineDocument): Implemented.
  45. Tue Apr 16 13:02:28 CEST 2002 Paolo Molaro <[email protected]>
  46. * AssemblyBuilder.cs: pad output file to file alignment.
  47. * FieldBuilder.cs: ReflectedType.
  48. * ModuleBuilder.cs: added guid generation and array method creation.
  49. * MonoArrayMethod.cs: array method support code.
  50. Wed Apr 10 12:57:31 CEST 2002 Paolo Molaro <[email protected]>
  51. * ILGenerator.cs: use a stack to keep track of exception blocks.
  52. Mon Apr 8 06:19:01 2002 Piers Haken <[email protected]>
  53. * ILGenerator.cs: added LabelField.label_base to allow for
  54. arbitrary offsets (for switch statement)
  55. Fri Apr 5 15:41:19 CEST 2002 Paolo Molaro <[email protected]>
  56. * AssemblyBuilder.cs: simpler protocol wih the runtime to
  57. get the assembly data.
  58. Tue Mar 26 20:10:24 CET 2002 Paolo Molaro <[email protected]>
  59. * AssemblyBuilder.cs: use FileMode.Create.
  60. * ILGenerator.cs: optimize localbuilder related opcodes.
  61. Track parameters to adjust maxstack.
  62. * LocalBuilder.cS: use unsigned for position.
  63. 2002-03-23 Miguel de Icaza <[email protected]>
  64. * LocalBuilder.cs: Drop the symbol_writer as LocalBuilder fields.
  65. Do this lazily in SetLocalSymInfo.
  66. 2002-03-24 Martin Baulig <[email protected]>
  67. * ModuleBuilder.cs (GetSymbolWriter): The MonoSymbolWriter's constructor
  68. now takes a `string assembly_filename' argument, pass it our fully
  69. qualified assembly name.
  70. 2002-03-24 Nick Drochak <[email protected]>
  71. * ILGenerator.cs: Use #if-#endif instead of if(false){} to disable
  72. code. This way there is no compiler warning.
  73. * TypeBuilder.cs: Removed the returns that came after the throws.
  74. This removes a few more compiler warnings. Also marked with MonoTODO
  75. all places where we throw NotImplemented exceptions.
  76. 2002-03-23 Martin Baulig <[email protected]>
  77. * SignatureHelper.cs (GetFieldSignatureHelper, GetLocalSignatureHelper):
  78. Implemented.
  79. * LocalBuilder.cs (LocalBuilder): This internal constructor now takes
  80. a ModuleBuilder argument instead of a ISymbolWriter one.
  81. (SetLocalSymInfo): Create and pass type signature to DefineLocalVariable.
  82. 2002-03-23 Martin Baulig <[email protected]>
  83. * ILGenerator.cs (BeginScope, EndScope): Implemented.
  84. 2002-03-20 Martin Baulig <[email protected]>
  85. * ModuleBuilder.cs (GetSymbolWriter): New internal function. Dynamically
  86. loads the default symbol writer, catch all possible exceptions and return
  87. null on failure.
  88. (ModuleBuilder): Added `bool emitSymbolInfo' argument to this internal
  89. constructor; if set, call GetSymbolWriter ().
  90. (GetSymWriter): Implemented.
  91. * LocalBuilder.cs (LocalBuilder): Added ISymbolWriter argument to this
  92. internal method.
  93. (SetLocalSymInfo): Implemented, call ISymbolWriter.DefineLocalVariable ()
  94. if the symbol writer is not null.
  95. * ILGenerator.cs (ILGenerator): Call ModuleBuilder.GetSymWriter () to get
  96. and store the symbol writer.
  97. (DeclareLocal): Pass the symbol writer to LocalBuilder's constructor.
  98. (MarkSequencePoint): Implemented, call ISymbolWriter.DefineSequencePoints ()
  99. if the symbol writer is not null.
  100. * AssemblyBuilder.cs (DefineDynamicModule): Pass the `bool emitSymbolInfo'
  101. to ModuleBuilder's constructor.
  102. Sat Mar 16 19:11:47 CET 2002 Paolo Molaro <[email protected]>
  103. * ModuleBuilder.cs: handle modified types correctly.
  104. Thu Mar 7 17:10:42 CET 2002 Paolo Molaro <[email protected]>
  105. * AssemblyBuilder.cs: allow saving bigger assemblies.
  106. * ILGenerator.cs: add fixup table for fields and methods, since
  107. at the end of the compile they may end up with a different table
  108. index.
  109. * ModuleBuilder.cs: add cache for type names to speed up the type
  110. lookups from the compiler.
  111. * TypeBuilder.cs: GetInterfaces () returns only interfaces in the
  112. current type, not in parents (the docs are wrong).
  113. Tue Mar 5 18:09:34 CET 2002 Paolo Molaro <[email protected]>
  114. * EventBuilder.cs: implemented.
  115. * TypeBuilder.cs: implemented DefineEvent() method and UnderlyingSystemType
  116. property.
  117. Mon Mar 4 20:34:52 CET 2002 Paolo Molaro <[email protected]>
  118. * ILGenerator.cs: make enough room in the byte array for string
  119. tokens.
  120. * TypeBuilder.cs: fixed GetInterfaces().
  121. Mon Mar 4 11:30:40 CET 2002 Paolo Molaro <[email protected]>
  122. * TypeBuilder.cs: implemented GetConstructors(), GetFields(),
  123. GetMethods(), GetProperties().
  124. Thu Feb 28 19:15:10 CET 2002 Paolo Molaro <[email protected]>
  125. * AssemblyBuilder.cs: call into the runtime to init some basic
  126. assembly stuff. Reserve slot 1 of typedef table for .<Module>.
  127. * ModuleBuilder.cs: call into the runtime if we need to create a
  128. modief type, such as arrays, byref etc.
  129. * TypeBuilder.cs: call into the runtime to create the MonoClass
  130. representation for the type. Throw exceptions with not implemented
  131. stuff.
  132. Wed Feb 27 18:48:47 CET 2002 Paolo Molaro <[email protected]>
  133. * ILGenerator.cs: fix nested exception blocks.
  134. Wed Feb 20 22:30:49 CET 2002 Paolo Molaro <[email protected]>
  135. * AssemblyBuilder.cs: upped compiled assembly size limit.
  136. Implemented SetCustomAttribute () methods.
  137. * CustomAttributeBuilder.cs: implemented the needed constructor
  138. stuff.
  139. * Cosntructorbuilder.cs, EnumBuilder.cs, FieldBuilder.cs,
  140. MethodBuilder.cs, ModuleBuilder.cs, ParameterBuilder.cs,
  141. PropertyBuilder.cs, TypeBuilder.cs: Implemented SetCustomAttribute () methods.
  142. Wed Feb 20 14:54:01 CET 2002 Paolo Molaro <[email protected]>
  143. * AssemblyBuilder.cs: add SetCustomAttribute () to keep the compiler
  144. going.
  145. Fri Feb 15 18:15:04 CET 2002 Paolo Molaro <[email protected]>
  146. * ILGenerator.cs: finally block support and fixes.
  147. Thu Feb 14 18:55:52 CET 2002 Paolo Molaro <[email protected]>
  148. * FieldBuilder.cs: Add SetRVAData().
  149. * ILGenerator.cs: speed up code array growth.
  150. * TypeBuilder.cs: fix IsValueTypeImpl(). Add class_size member.
  151. Implement DefineInitializedData().
  152. Tue Jan 22 23:01:11 CET 2002 Paolo Molaro <[email protected]>
  153. * EnumBuilder.cs, TypeBuilder.cs: updates for changes in Type.cs.
  154. * ModuleBuilder.cs: fix lookup of nested types.
  155. Tue Jan 15 22:46:21 CET 2002 Paolo Molaro <[email protected]>
  156. * ILGenerator.cs: implement some of the exception support methods.
  157. Mon Jan 14 17:07:32 CET 2002 Paolo Molaro <[email protected]>
  158. * ModulerBuilder.cs: search also for subtypes in GetTypes().
  159. * TypeBuilder.cs: bugfix in FullName. Implemented DefineNestedType().
  160. Fri Jan 11 19:00:29 CET 2002 Paolo Molaro <[email protected]>
  161. * MethodBuilder.cs, ConstructorBuilder.cs: save parameter info.
  162. Thu Jan 10 21:07:54 CET 2002 Paolo Molaro <[email protected]>
  163. * ILGenerator.cs: handle type tokens (used for box opcode).
  164. Wed Jan 9 19:37:55 CET 2002 Paolo Molaro <[email protected]>
  165. * ILGenerator.cs: emit float and doubles.
  166. * ModuleBuilder.cs: off-by-one error fix and GetType()
  167. implementations.
  168. * TypeBuilder.cs: AttributesImpl added.
  169. * UnmanagedMarshal.cs: stubbed out class.
  170. Sat Jan 5 15:59:05 CET 2002 Paolo Molaro <[email protected]>
  171. * ILGenerator.cs: fix emission of two-bytes opcodes.
  172. Missing slot for locals array. Throw exceptions on unimplemented
  173. methods.
  174. * OpCode.cs: add a comment: the Value property is useless.
  175. * OpCodes.cs: fix name of tail opcode (Tail -> Tailcall).
  176. 2002-01-05 Ravi Pratap <[email protected]>
  177. * ConstructorBuilder.cs : Use the MonoTODO attribute.
  178. * ILGenerator.cs, Label.cs, MethodBuilder.cs, ModuleBuilder.cs,
  179. ParameterBuilder.cs, TypeBuilder.cs : Ditto.
  180. Thu Jan 3 23:26:15 CET 2002 Paolo Molaro <[email protected]>
  181. * ILGenerator.cs: typo fix.
  182. Mon Dec 24 17:21:30 CET 2001 Paolo Molaro <[email protected]>
  183. * TypeBuilder.cs: added DefineMethodOverride().
  184. * MethodBuilder.cs: add override_method member and setter.
  185. Mon Nov 19 13:58:01 CET 2001 Paolo Molaro <[email protected]>
  186. * AssemblyBuilder.cs: add method to register a string in the "#US"
  187. stream.
  188. * EnumBuilder.cs, SignatureHelper.cs: added stubs.
  189. * ILGenerator.cs: more stuff implemented.
  190. * LocalBuilder.cs: keep track of local var index.
  191. Thu Nov 15 18:11:23 CET 2001 Paolo Molaro <[email protected]>
  192. * ConstructorBuilder.cs: implement the interesting methods.
  193. * ILGenerator.cs: adapt for use with both a MethodBuilder and a
  194. ConstructorBuilder.
  195. * MethodBuilder.cs: add ImplAttributes.
  196. * ParameterBuilder.cs: adapt for ConstructorBuilder.
  197. * TypeBuilder.cs: add constructors handling.
  198. Wed Nov 14 17:01:45 CET 2001 Paolo Molaro <[email protected]>
  199. * ConstructorBuilder.cs: added missing stubs and some implementation.
  200. * CustomAttributeBuilder.cs: added.
  201. * EventBuilder.cs: added.
  202. * FieldBuilder.cs: updates.
  203. * MethodBuilder.cs: stuff to implement P/Invoke methods.
  204. * ModuleBuilder.cs: added GetArrayMethod() stub.
  205. * ParameterBuilder.cs, PropertyBuilder.cs: updates.
  206. * TypeBuilder.cs: updates and stubs.
  207. 2001-11-10 Sean MacIsaac <[email protected]>
  208. * TypeBuilder.cs: Added implementation for TypeHandle.
  209. Tue Nov 6 09:13:45 CET 2001 Paolo Molaro <[email protected]>
  210. * AssemblyBuilder.cs: define an internal constructor.
  211. 2001-10-07 Miguel de Icaza <[email protected]>
  212. * AssemblyBuilder.cs: Reformatted.
  213. Added override keywords to those that needed them.
  214. Removed methods that we do not override, but just inherit
  215. Tue Sep 25 16:53:08 CEST 2001 Paolo Molaro <[email protected]>
  216. * TypeBuilder.cs, ConstructorBuilder.cs, ModuleBuilder.cs: added.