* BasicProfileChecker.cs: Added checks for R2101, R2102, R2105, R2110, R2111
[mono.git] / mcs / class / Mono.CSharp.Debugger / ChangeLog
1 2004-07-27  Martin Baulig  <martin@ximian.com>
2
3         * MonoSymbolFile.cs (MonoSymbolFile.Write): Sort the methods
4         according to their token values.
5         (MonoSymbolFile.ReadSymbolFile): Support reading the debugging
6         information from an external ".mdb" file.
7
8         * MonoSymbolTable.cs
9         (SourceFileEntry): Make the .ctor protected, not internal.
10         (SourceFileEntry.DefineMethod): This is no longer specific to
11         System.Reflection(.Emit).
12         (MethodEntry): We don't need the class and parameter types, the
13         JIT is already getting this information automatically.
14         (MethodEntry.ClassTypeIndex): Make this obsolete.
15         (MethodEntry.ParamTypeIndicies): Likewise.
16
17 2004-07-02  Raja R Harinath  <rharinath@novell.com>
18
19         * Makefile (LIBRARY_USE_INTERMEDIATE_FILE): Define.
20         (LIBRARY_COMPILE): Simplify.
21
22 2004-06-24  Raja R Harinath  <rharinath@novell.com>
23
24         * Makefile (LIBRARY_COMPILE): Only define for W32.
25
26 2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
27
28         * Makefile: build using mcs on windows.
29
30 2004-06-19  Martin Baulig  <martin@ximian.com>
31
32         * MonoSymbolTable.cs
33         (SourceFileTable.Namespaces): New public property.
34
35 2004-06-02  Martin Baulig  <martin@ximian.com>
36
37         Set version number to 37.
38
39 2004-05-23 Ben Maurer  <bmaurer@users.sourceforge.net>
40
41         * MonoSymbolTable.cs (BuildLineNumberTable): Avoid arraylist.
42
43 2004-01-16  Martin Baulig  <martin@ximian.com>
44
45         Set version number to 36.
46
47         * MonoSymbolFile.cs (MonoSymbolFile): Removed 'FindMethod' and
48         'MethodLookup'.
49
50         * MonoSymbolTable.cs (MethodEntry): Don't write the method's full
51         name into the symbol file.
52
53 2004-01-16  Martin Baulig  <martin@ximian.com>
54
55         * MonoSymbolFile.cs (MonoDebuggerSupport): As suggested by Ben
56         Maurer, create a delegate type for each of the methods and then
57         store the method.
58
59 2004-01-15  Martin Baulig  <martin@ximian.com>
60
61         * MonoSymbolFile.cs (MonoDebuggerSupport): New public class
62         containing static wrappers for calling the `MonoDebugger_*'
63         function in S.R.Assembly.
64
65 2004-01-13  Martin Baulig  <martin@ximian.com>
66
67         * MonoSymbolTable.cs: Added more #region's and a comment at the
68         top of the file.
69
70         * MonoSymbolWriter.cs (SourceMethod.BuildLineNumberTable): Removed
71         it here since it's in MethodEntry again.
72
73 2004-01-13  Martin Baulig  <martin@ximian.com>
74
75         * ChangeLog, MonoSymbolTable.cs: Reviewed Ben's patches.  For
76         those which are not ok, I'll add detailed comments to the source
77         code.   
78
79 2003-12-28 Ben Maurer  <bmaurer@users.sourceforge.net>
80
81         [Revision 1.41, not approved.  Martin]
82         * MonoSymbolTable.cs (MethodEntry): kill more
83         useless fields.
84
85 2003-12-28 Ben Maurer  <bmaurer@users.sourceforge.net>
86
87         [Revision 1.40, not approved.  Martin]
88         * MonoSymbolTable.cs (MethodEntry): Remove the
89         SourceFileIndex field, we already have the info.
90
91 2003-12-28 Ben Maurer  <bmaurer@users.sourceforge.net>
92
93         [Revision 1.39, approved.  Martin]
94         * MonoSymbolTable.cs: Don't make the MethodIndexEntry
95         part of the method entry class, because it just
96         takes up extra space.
97
98 2003-12-28 Ben Maurer  <bmaurer@users.sourceforge.net>
99
100         [Revisions 1.37 and 1.38; not approved.  Martin]
101         * MonoSymbolTable.cs (MethodEntry.BuildLineNumberTable): Removed.
102
103         * MonoSymbolTable.cs, MonoSymbolWriter.cs: Use
104         fewer arrays, dont use arraylists with structs.
105
106 2003-12-27 Ben Maurer  <bmaurer@users.sourceforge.net>
107
108         * MonoSymbolFile.cs: Much, much better string writing.
109
110 2003-12-20 Ben Maurer  <bmaurer@users.sourceforge.net>
111
112         [Revision 1.36, approved.  Martin]
113         * MonoSymbolTable.cs: Fewer StringBuilder allocs.
114
115 2003-12-08  Zoltan Varga  <vargaz@freemail.hu>
116
117         * MonoSymbolWriter.cs: Create ArrayLists only when needed.
118
119 2003-12-07 Ben Maurer  <bmaurer@users.sourceforge.net>
120
121         [Revision 1.35, approved.  Martin]
122         * MonoSymbolTable.cs: It is faster to do a linear search
123         than it is to make a hashtable. Even though the linear
124         search is O(n^2) while the hashtable is O(n), the allocation
125         cost for a hashtable is *very* high, especially when only
126         a few members will be added.
127
128 2003-09-06  Martin Baulig  <martin@ximian.com>
129
130         * MonoSymbolFile.cs: Removed debugging output.
131
132 2003-08-05  Martin Baulig  <martin@ximian.com>
133
134         * MonoSymbolTable.cs (MethodEntry.Index): New public field.
135
136 2003-06-27  Zoltan Varga  <vargaz@freemail.hu>
137
138         * MonoSymbolWriter.cs: Enable calling of DefineDocument multiple
139         times with the same URL.
140
141 2003-06-10  Zoltan Varga  <vargaz@freemail.hu>
142
143         * MonoSymbolFile.cs: Fix off-by-one error.
144
145 2003-03-22  Martin Baulig  <martin@ximian.com>
146
147         * MonoSymbolTable.cs (MethodEntry.LocalNamesAmbiguous): New public
148         field.  Specifies whether two local variables have the same name.
149
150 2003-03-13  Martin Baulig  <martin@ximian.com>
151
152         Added basic support for lexical scopes.  This is just to tell a
153         debugger that a local variable is only available in a specific
154         lexical scope and that another variable of the same name may exist
155         in another lexical scope.  See debugger/test/TestLexicalScope.cs
156         for examples.
157
158         * MonoSymbolTable.cs (LexicalScopeEntry): New class.
159         (LocalVariableEntry): Added `BlockIndex' field which specifies the
160         lexical scope of this variable.
161
162         * MonoSymbolWriter.cs (SourceBlock): Removed, we're now using
163         LexicalScopeEntry instead.
164
165 2003-02-22  Martin Baulig  <martin@ximian.com>
166
167         * MonoSymbolTable.cs: Incremented version number.
168
169 2003-02-22  Martin Baulig  <martin@ximian.com>
170
171         * MonoSymbolFile.cs (MonoSymbolFile.FindMethod): Fixed a bug.
172         (MonoSymbolFile.MethodLookup): New method.
173
174 2003-02-18  Martin Baulig  <martin@ximian.com>
175
176         * MonoSymbolFile.cs (MonoSymbolFile.GetMethod): Added overloaded
177         version which takes a MethodBase.
178
179 2003-02-18  Martin Baulig  <martin@ximian.com>
180
181         * MonoSymbolTable.cs (MethodIndexEntry): New public struct.
182
183         * MonoSymbolFile.cs (MonoSymbolFile.GetMethodByToken): New method.
184
185 2003-02-18  Martin Baulig  <martin@ximian.com>
186
187         * MonoSymbolFile.cs (MonoSymbolFile.Assembly): New public property.
188
189         * MonoSymbolTable.cs (MethodEntry.MethodBase): New public property.
190         (MethodEntry.LocalTypes): New public variable.
191
192 2003-02-18  Martin Baulig  <martin@ximian.com>
193
194         * MonoSymbolFile.cs (MethodEntry.ThisTypeIndex): Renamed to
195         ClassTypeIndex; provide this for all methods so we can get the
196         class of static methods.
197
198 2003-02-10  Nick Drochak  <ndrochak@gol.com>
199
200         * Mono.CSharp.Debugger.build: passing the /r using an 'arg' node works.
201         The <include> node wasn't getting to the compiler. This fixes build
202         breakage on cygwin.
203
204         * MonoSymbolFile.cs: Qualify which Min method. Fixes build breakage
205         on cygwin.
206
207 2003-02-09  Martin Baulig  <martin@ximian.com>
208
209         * MonoSymbolWriter.cs (MonoSymbolWriter.ctor): We don't need the
210         `mbuilder_array' anymore.
211
212 2003-02-09  Martin Baulig  <martin@ximian.com>
213
214         * MonoSymbolWriter.cs (SourceFile): Derive from SourceFileEntry.
215         (SourceBlock): We don't need source lines here.
216         (SourceMethod): We're always constructed with source info.
217
218         * MonoSymbolTable.cs: Added support for namespaces.
219         (NamespaceEntry): New struct.
220         (SourceFileEntry.DefineNamespace): New method.
221         (MethodEntry.BuildLineNumberTable): The table is already sorted,
222         so we don't need to do this here.
223
224 2003-02-09  Martin Baulig  <martin@ximian.com>
225
226         * IMonoSymbolWriter.cs: Ooops, I forgot to remove this.
227
228 2003-02-08  Martin Baulig  <martin@ximian.com>
229
230         * MonoSymbolDocumentWriter.cs: Removed.
231
232         * MonoSymbolWriter.cs (SourceFile): Implement ISymbolDocumentWriter.
233
234 2003-02-08  Martin Baulig  <martin@ximian.com>
235
236         * MonoSymbolFile.cs (GetMethodSource): New public method.
237         (FindMethod): Return the correct index.
238
239 2003-02-07  Martin Baulig  <martin@ximian.com>
240
241         * MonoSymbolFile.cs (Methods, Sources): New public properties.
242
243 2003-02-07  Martin Baulig  <martin@ximian.com>
244
245         * MonoSymbolFile.cs (MonoSymbolFile.ReadSymbolFile): New public
246         static method, returns null (without throwing an exception) if the
247         assembly doesn't have any debugging info.
248
249 2003-02-07  Martin Baulig  <martin@ximian.com>
250
251         * MonoSymbolWriter.cs (MonoSymbolWriter.Initialize): Removed the
252         custom initialization function.
253
254         * MonoSymbolTableWriter.cs: Removed; the code is now in
255         MonoSymbolFile.cs and MonoSymbolWriter.cs.
256
257 2003-02-07  Martin Baulig  <martin@ximian.com>
258
259         * MonoSymbolFile.cs: The symbol file is now a resource in the
260         assembly instead of a separate file.
261
262         * MonoSymbolTable.cs: Did a few more cleanups, sort the line
263         number table and remove duplicate line numbers.
264
265 2003-02-05  Martin Baulig  <martin@ximian.com>
266
267         Modified the symbol file format to speed up method looks by name
268         and cleaned this up a lot.
269
270         * MonoSymbolFile.cs: New public class.  This is now a public class
271         and writes and reads the symbol file.
272
273         * IMonoBinaryReader.cs: Removed.
274
275         * MonoSymbolTable.cs: Set version number to 29.
276
277 2003-01-17  Zoltan Varga  <vargaz@freemail.hu>
278
279         * MonoSymbolWriter.cs (OpenMethod): Make it work on constructors.
280
281 2002-10-13  Martin Baulig  <martin@gnome.org>
282
283         * MonoSymbolTable.cs: Set version number to 28.
284         (SourceFileEntry): Read the methods when they're needed.
285         (MethodSourceEntry): Made this a struct, not a class.
286
287 2002-10-13  Martin Baulig  <martin@gnome.org>
288
289         * MonoSymbolTable.cs: Set version number to 27.  Added a source
290         file table which is used to search a method by source file + line number.
291
292 2002-09-21  Martin Baulig  <martin@gnome.org>
293
294         * MonoSymbolTable.cs: Set version number to 26.  Removed all the dynamic
295         stuff, this library now just deals with the compiler generated symbol table.
296         The dynamic stuff is private between the JIT and the debugger.
297
298 2002-09-21  Martin Baulig  <martin@gnome.org>
299
300         * MonoSymbolTable.cs: Set version number to 25.  Added information about
301         local variables.
302
303 2002-09-20  Martin Baulig  <martin@gnome.org>
304
305         * MonoSymbolTable.cs: Set version number to 24.  Added a type index
306         table.  Write the type of a local variable or a parameter as an index
307         into this table.
308
309 2002-09-20  Martin Baulig  <martin@gnome.org>
310
311         * IMonoSymbolWriter.cs: Remove all the unused interfaces.
312
313 2002-09-20  Martin Baulig  <martin@gnome.org>
314
315         * MonoSymbolTable.cs: Set version number to 23, include the size
316         of a variable.
317
318 2002-09-20  Martin Baulig  <martin@gnome.org>
319
320         * MonoSymbolTable.cs: Set version number to 22.  Provide information
321         about parameters and local variables.
322
323 2002-09-20  Martin Baulig  <martin@gnome.org>
324
325         * IMonoSymbolWriter.cs: Use fullly qualified name for
326         System.Diagnostics.SymbolStore.ISymbolWriter rather than `using' this
327         namespace.  This allows us to use the name `ISymbolWriter' in our own
328         code.
329
330 2002-09-18  Martin Baulig  <martin@gnome.org>
331
332         * MonoSymbolTable.cs: Set version number to 21.  Encode the source file
333         as a 4-byte length field followed by the UTF8 encoded string.
334
335 2002-09-18  Martin Baulig  <martin@gnome.org>
336
337         * IMonoBinaryReader.cs: New interface.
338
339         * MonoSymbolTable.cs: Use IMonoBinaryReader instead of binary reader.
340
341 2002-09-16  Martin Baulig  <martin@gnome.org>
342
343         * MonoSymbolTable.cs: Set version number to 20.
344
345 2002-09-14  Martin Baulig  <martin@gnome.org>
346
347         * MonoSymbolWriter.cs, IMonoSymbolWriter.cs, MonoSymbolTableWriter.cs:
348         Make all classes and interfaces which don't need to be public internal.
349
350 2002-09-14  Martin Baulig  <martin@gnome.org>
351
352         * MonoSymbolTable.cs: Use only CLS-compliant types here, bumped version
353         number to 19.
354
355         * MonoSymbolTableReader.cs: Removed, this is now in the debugger.
356
357 2002-09-03  Martin Baulig  <martin@gnome.org>
358
359         * AssemblerWriterI386.cs, IAssemblerWriter.cs, MonoDwarfFileWriter.cs,
360         README, README.relocation-table, csharp-lang.[ch], gdb-csharp-support.patch,
361         gdb-variable-scopes.patch: Removed.
362
363 2002-09-03  Martin Baulig  <martin@gnome.org>
364
365         * MonoSymbolTableReader.cs (MonoSymbolTableReader.ImageFile): New
366         public property.
367
368         * MonoSymbolTable.cs: Bumped version number to 18.
369
370 2002-08-27  Martin Baulig  <martin@gnome.org>
371
372         * MonoSymbolTable.cs (MethodAddress): Removed `TrampolineAddress'.
373
374 2002-08-27  Martin Baulig  <martin@gnome.org>
375
376         * MonoSymbolTable.cs: Changed the file format in a way that allows us
377         open it read-only and to use a specially malloced area for all the
378         dynamic data.   
379
380 2002-08-25  Martin Baulig  <martin@gnome.org>
381
382         * MonoSymbolTableReader.cs: New file.  This is the reader for the
383         new symbol file format.
384
385 2002-08-24  Martin Baulig  <martin@gnome.org>
386
387         * MonoSymbolTable.cs, MonoSymbolTableWriter.cs: New files.  This
388         creates a binary application.dbg file which will be used by the
389         JIT to display source lines for exceptions.
390
391         * list.unix: Disabled the dwarf file writer in the build.
392
393 2002-08-23  Martin Baulig  <martin@gnome.org>
394
395         * MonoSymbolWriter.cs (MonoSymbolWriter.Initialize): Added
396         assembly name argument.  Since the symbol writer needs to read the
397         final assembly, we need to give it its full pathname.
398
399 2002-08-23  Martin Baulig  <martin@gnome.org>
400
401         * makefile.gnu, list.unix: Added.
402
403 2002-07-05  Martin Baulig  <martin@gnome.org>
404
405         * MonoDwarfFileWriter.cs: Added support for types in referenced assemblies.
406
407 2002-07-05  Martin Baulig  <martin@gnome.org>
408
409         * MonoDwarfFileWriter.cs: Added support for arrays.
410
411         * gdb-csharp-support.patch: Updated.
412
413 2002-06-29  Martin Baulig  <martin@gnome.org>
414
415         * MonoDwarfFileWriter.cs (DieInheritance): Make this actually work.
416
417 2002-06-29  Martin Baulig  <martin@gnome.org>
418
419         * MonoDwarfFileWriter.cs, MonoSymbolWriter.cs: Put all TAG_subprogram's into their
420         corresponding struct/class declarations.
421
422 2002-06-28  Martin Baulig  <martin@gnome.org>
423
424         * gdb-csharp-support.patch: Updated.
425
426 2002-06-28  Martin Baulig  <martin@gnome.org>
427
428         * MonoDwarfFileWriter.cs: Use a TAG_string_type when we're using GNU extensions.
429         Make static struct/class fields actually work.  Provide a TAG_typedef for struct's
430         and classes.
431
432 2002-05-30  Martin Baulig  <martin@gnome.org>
433
434         * IMonoSymbolWriter (IMonoSymbolWriter): Added custom `Initialize' method.
435
436         * MonoSymbolWriter.cs (Initialize): The ISymbolWriter's `Initialize' method
437         is no longer supported and throws an exception.
438         (Initialize (string, string[])): New custom initialization function.
439
440         * MonoDwarfFileWriter.cs (DwarfFileWriter): Added `string[] args' argument
441         to the constructor to pass command line arguments.
442
443         * gdb-csharp-support.patch: Updated for GDB 5.2.
444
445 2002-05-30  Martin Baulig  <martin@gnome.org>
446
447         * MonoSymbolWriter.cs (MonoSymbolWriter): The constructor now get's the
448         AssemblyBuilder's `methods' array as third argument.
449         (OpenMethod): Use this array to get the method builder rather than using an
450         interncall for it.
451         (get_method_builder): Removed this interncall.
452
453 2002-05-25  Martin Baulig  <martin@gnome.org>
454
455         * MonoDwarfFileWriter.cs: Finished the type rewrite, put back strings and arrays.
456
457 2002-05-24  Martin Baulig  <martin@gnome.org>
458
459         * IMonoSymbolWriter.cs (ISourceMethod): Added `FullName' and `Parameters'.
460         (ITypeHandle): New interface.
461
462         * DwarfFileWriter.cs: Largely reorganized the type writing code.  Types are
463         now represented by ITypeHandle objects which are stored in a per-dwarf-writer
464         hash table.  At the moment, all types still need to be in one compile unit due
465         to lacking support in gdb - but this new type code here already supports this.
466
467         * MonoSymbolWriter.cs: Moved all the subclasses to the top-level and made them
468         public, cleaned up the code, put everything into one compile unit.
469         (DefineLocalVariable): Added a version of this function which takes useful args.
470
471 2002-05-22  Martin Baulig  <martin@gnome.org>
472
473         * IMonoSymbolWriter.cs (IMonoSymbolWriter): Added `Sources' and `Methods'
474         properties.
475
476         * MonoDwarfFileWriter.cs (WriteSymbolTable): New public method.  Moved the
477         code that writes the "mono_line_numbers" section here from the LineNumberEngine.
478
479 2002-05-22  Martin Baulig  <martin@gnome.org>
480
481         * IMonoSymbolWriter.cs (IVariable): Replaced Token with `ISourceMethod Method'.
482
483         * MonoSymbolWriter.cs (MonoSymbolWriter): The constructor now has an additional
484         ModuleBuilder argument.
485         (OpenMethod): Immediately call the `get_method' interncall to get the MethodBase
486         from the token, then store the MethodBase instead of the token.  The token may
487         still change during the metadata library's fixup process.
488         (DoFixups): When the image has been written to disk, call the GetToken () method
489         on all MethodBuilders and all ConstructorBuilders to get the final metadata tokens.
490
491 2002-05-22  Martin Baulig  <martin@gnome.org>
492
493         * AssemblerWriterI386.cs: Don't use GNU extensions and produce assembler
494         output which is free of comments and extra whitespaces so that it's suitable
495         for `as -f'.
496
497 2002-05-22  Martin Baulig  <martin@gnome.org>
498
499         * IMonoSymbolWriter.cs (ISourceMethod): Replaced `MethodInfo MethodInfo' with
500         `MethodBase MethodBase' and added `Type ReturnType'.  We're now correctly
501         dealing with constructors and not crashing anymore.
502
503 2002-05-21  Martin Baulig  <martin@gnome.org>
504
505         * MonoDwarfFileWriter.cs: Write a special line number table which can be read
506         in by the metadata library to get line number information in backtraces.
507
508 2002-05-06  Martin Baulig  <martin@gnome.org>
509
510         * MonoSymbolWriter.cs (MonoSymbolWriter.Close): Use Assembly.LoadFrom (), not
511         AppDomain.Load () to load the assembly.
512
513 2002-04-26  Martin Baulig  <martin@gnome.org>
514
515         * gdb-csharp-support.patch: A patch for GDB (against the latest CVS version)
516         to implement C# support.
517
518         * csharp-lang.c, csharp-lang.h, csharp-mono-lang.c: Copy these into your GDB
519         source directory after applying the patch.
520
521 2002-04-26  Martin Baulig  <martin@gnome.org>
522
523         * MonoDwarfFileWriter.cs (DieInternalString): Removed.
524
525 2002-04-25  Martin Baulig  <martin@gnome.org>
526
527         * MonoDwarfFileWriter.cs: Reflect latest MonoString changes.
528
529 2002-04-13  Martin Baulig  <martin@gnome.org>
530
531         * IMonoSymbolWriter.cs (ISourceBlock): Added `Blocks' property and `AddBlock'
532         method to support nested blocks.
533
534         * MonoSymbolWriter.cs: Correctly handle nested blocks.
535
536         * MonoDwarfFileWriter.cs (DieMember): Provide info for all fields, not just for
537         public ones; also added DW_AT_accessibility.
538         (DieVariable): Reflected latest debug-symfile.c changes.
539
540 2002-04-12  Martin Baulig  <martin@gnome.org>
541
542         * gdb-variable-scopes.patch: A patch for GDB (against the latest CVS version)
543         to implement variable lifetimes.
544
545 2002-04-12  Martin Baulig  <martin@gnome.org>
546
547         * MonoDwarfFileWriter.cs (DieVariable): Provide info about the variable's
548         lifetime using DW_AT_begin_scope and a new baulig extension DW_AT_end_scope.
549
550 2002-03-29  Martin Baulig  <martin@gnome.org>
551
552         * AssemblerWriterI386.cs: Rewrote most of the string output function, do the
553         number->string conversion manually. It's now taking about 15 seconds to write
554         a symbol file for MCS, no longer more than a minute.
555
556         * MonoDwarfFileWriter.cs: Added some profiling code, speeded things up, fixed
557         a few bugs.
558
559 2002-03-25  Martin Baulig  <martin@gnome.org>
560
561         * MonoDwarfFileWriter.cs (CreateType): Return a `DieType'.
562         (RegisterType): Add the type to the type hash before creating dependency types
563         so we don't get recursion loops.
564         (RegisterPointerType): New func to register a "pointer to type" type.
565         (DieTypeDef, DiePointerType, DieArrayType, DieStringType, DieClassType): New
566         types; added support for strings, arrays and basic support for classes.
567         
568 2002-03-24  Martin Baulig  <martin@gnome.org>
569
570         * IMonoSymbolWriter.cs: Killed all methods in this interface, no longer needed.
571
572         * MonoSymbolWriter.cs (MonoSymbolWriter): The constructor now takes a string
573         argument which is the full pathname of the assembly - you must call Close()
574         after the assembly has been written to disk since the symbol writer needs to
575         load the finished assembly to get its metadata.
576
577         * MonoDwarfFileWriter.cs: Added support for enums and structs.
578         
579 2002-03-24  Martin Baulig  <martin@gnome.org>
580
581         * MonoDwarfFileWriter.cs: Added support for method parameters.
582
583 2002-03-24  Martin Baulig  <martin@gnome.org>
584
585         * IMonoSymbolWriter.cs (IMonoSymbolWriter): Removed my custom OpenMethod(),
586         we're now using the ISymbolWriter's method.
587         (IVariable): Added `byte[] Signature' property.
588
589         * MonoSymbolWriter.cs (SetAssembly): New method. This must be called before
590         Close(); the assembly parameter is the already-written assembly, ie. it must
591         contain the full metadata.
592         (OpenMethod): Only take the token argument and set MethodInfo later in DoFixups.
593         (SetMethodSourceRange): You must call this function to tell the symbol writer
594         in which source file the method is defined.
595         (DefineLocal): Store the signature in the local.
596         (DoFixups): Use two new interncalls to set the SourceMethod's MethodInfo field
597         and the LocalVariable's Type field.
598
599 2002-03-23  Martin Baulig  <martin@gnome.org>
600
601         * IMonoSymbolWriter.cs (ISourceBlock): New interface.
602         (ILocalVariable): Renamed this interface to IVariable.
603         (IVariable): Added Line, Type, Token.
604         (ILocalVariable, IMethodParameter): New interfaces, derive from IVariable.
605         (ISourceMethod): Added Blocks. Renamed FirstLine and LastLine to Start and End,
606         changed their type to ISourceLine. Removed CodeSize.
607         (ISourceLine): Renamed Line to Row, added Column. Added OffsetType and Offset.
608
609         * MonoDwarfFileWriter.cs (MonoDwarfFileWriter.DieLexicalBlock): New class.
610         (MonoDwarfFileWriter.DieMethodVariable): New class.
611
612         * MonoSymbolWriter.cs (OpenScope, CloseScope): Implemented.
613         Reflected latest IMonoSymbolWriter interface changes.
614
615 2002-03-20  Martin Baulig  <martin@gnome.org>
616
617         * IAssemblerWriter.cs: New interface.
618
619         * AssemblerWriterI386.cs: New class.
620
621         * MonoDwarfFileWriter.cs: Use the IAssemblerWriter interface to make this class
622         platform and assembler independent.
623
624 2002-03-20  Martin Baulig  <martin@gnome.org>
625
626         * IMonoSymbolWriter.cs (ISourceMethod): Added FirstLine, LastLine, CodeSize and
627         Token properties.
628
629         * MonoDwarfFileWriter.cs: Implemented line number support.
630
631 2002-03-19  Martin Baulig  <martin@gnome.org>
632
633         * IMonoSymbolWriter.cs (ISourceFile, ISourceMethod, ISourceLine, ILocalVariable):
634         New interfaces.
635
636         * IMonoSymbolWriter.cs (OpenMethod): Take a System.Reflection.MethodInfo, not
637         a string.
638
639 2002-03-19  Martin Baulig  <martin@gnome.org>
640
641         This is an implementation of the System.Diagnostics.SymbolStore.SymbolWriter
642         interface. It's still work in progress and not yet used anywhere.
643
644         There is some preliminary documentation in the source files and some more
645         docu in the README and README.relocation-table files.
646
647         * IMonoSymbolWriter.cs: New file.
648         * MonoDwarfFileWriter.cs: New file.
649         * MonoSymbolDocumentWriter.cs: New file.
650         * MonoSymbolWriter.cs: New file.
651
652         * README, README.relocation-table: Documentation.
653