2004-10-20 Martin Baulig <martin@ximian.com>
[mono.git] / mcs / class / Mono.CSharp.Debugger / ChangeLog
index ed8c58cb482cc6be0ca403866fc745fc61eafee1..fc098f17c07e26b2545c31ef87016f00d0c1714b 100644 (file)
@@ -1,3 +1,393 @@
+2004-10-20  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs (MonoSymbolFile.Write): Sort the method table
+       before actually writing it to disk and update MethodEntry.Index.
+
+       * MonoSymbolTable.cs (MethodEntry.Index): Make this a writable
+       property; set it after creating all the methods and sorting the
+       method table.
+
+2004-09-21  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs (MonoDebuggerSupport.CheckRuntimeVersion): New
+       public method.
+
+2004-08-27  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs (MonoSymbolFile..ctor): Read the GUID from the
+       symbol file before reading the OffsetTable.
+
+2004-08-27  Chris Toshok  <toshok@ximian.com>
+
+       * MonoSymbolFile.cs (MonoSymbolFile.ReadSymbolFile): pass name to
+       MonoSymbolFile.ctor, not filename, so we load the .mdb file
+       instead of the .dll.
+       (MonoSymbolFile.ctor): pass FileAccess.Read to the FileStream
+       ctor.
+
+2004-08-27  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs (MonoDebuggerSupport.GetGuid): The function is
+       called Module.Mono_GetGuid(), not Module.MonoDebugger_GetGuid().
+
+2004-07-30  Martin Baulig  <martin@ximian.com>
+
+       The library is now called Mono.CompilerServices.SymbolWriter.dll
+       and is in the Mono.CompilerServices.SymbolWriter namespace.
+
+       * MonoSymbolFile.cs (MonoDebuggerSupport.GetGuid): New public
+       static method.
+       (MonoSymbolFile.WriteString): Use the BinaryWriter's method.
+       (MonoSymbolFile.ReadString): Use the BinaryReader's method.
+       (MonoSymbolFile.Write): Write the module's Guid into the symbol
+       file.
+
+       * MonoSymbolTable.cs, MonoSymbolWriter.cs: Reworked the API.
+
+2004-07-27  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs (MonoSymbolFile.Write): Sort the methods
+       according to their token values.
+       (MonoSymbolFile.ReadSymbolFile): Support reading the debugging
+       information from an external ".mdb" file.
+
+       * MonoSymbolTable.cs
+       (SourceFileEntry): Make the .ctor protected, not internal.
+       (SourceFileEntry.DefineMethod): This is no longer specific to
+       System.Reflection(.Emit).
+       (MethodEntry): We don't need the class and parameter types, the
+       JIT is already getting this information automatically.
+       (MethodEntry.ClassTypeIndex): Make this obsolete.
+       (MethodEntry.ParamTypeIndicies): Likewise.
+
+2004-07-02  Raja R Harinath  <rharinath@novell.com>
+
+       * Makefile (LIBRARY_USE_INTERMEDIATE_FILE): Define.
+       (LIBRARY_COMPILE): Simplify.
+
+2004-06-24  Raja R Harinath  <rharinath@novell.com>
+
+       * Makefile (LIBRARY_COMPILE): Only define for W32.
+
+2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Makefile: build using mcs on windows.
+
+2004-06-19  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (SourceFileTable.Namespaces): New public property.
+
+2004-06-02  Martin Baulig  <martin@ximian.com>
+
+       Set version number to 37.
+
+2004-05-23 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * MonoSymbolTable.cs (BuildLineNumberTable): Avoid arraylist.
+
+2004-01-16  Martin Baulig  <martin@ximian.com>
+
+       Set version number to 36.
+
+       * MonoSymbolFile.cs (MonoSymbolFile): Removed 'FindMethod' and
+       'MethodLookup'.
+
+       * MonoSymbolTable.cs (MethodEntry): Don't write the method's full
+       name into the symbol file.
+
+2004-01-16  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs (MonoDebuggerSupport): As suggested by Ben
+       Maurer, create a delegate type for each of the methods and then
+       store the method.
+
+2004-01-15  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs (MonoDebuggerSupport): New public class
+       containing static wrappers for calling the `MonoDebugger_*'
+       function in S.R.Assembly.
+
+2004-01-13  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs: Added more #region's and a comment at the
+       top of the file.
+
+       * MonoSymbolWriter.cs (SourceMethod.BuildLineNumberTable): Removed
+       it here since it's in MethodEntry again.
+
+2004-01-13  Martin Baulig  <martin@ximian.com>
+
+       * ChangeLog, MonoSymbolTable.cs: Reviewed Ben's patches.  For
+       those which are not ok, I'll add detailed comments to the source
+       code.   
+
+2003-12-28 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       [Revision 1.41, not approved.  Martin]
+       * MonoSymbolTable.cs (MethodEntry): kill more
+       useless fields.
+
+2003-12-28 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       [Revision 1.40, not approved.  Martin]
+       * MonoSymbolTable.cs (MethodEntry): Remove the
+       SourceFileIndex field, we already have the info.
+
+2003-12-28 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       [Revision 1.39, approved.  Martin]
+       * MonoSymbolTable.cs: Don't make the MethodIndexEntry
+       part of the method entry class, because it just
+       takes up extra space.
+
+2003-12-28 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       [Revisions 1.37 and 1.38; not approved.  Martin]
+       * MonoSymbolTable.cs (MethodEntry.BuildLineNumberTable): Removed.
+
+       * MonoSymbolTable.cs, MonoSymbolWriter.cs: Use
+       fewer arrays, dont use arraylists with structs.
+
+2003-12-27 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * MonoSymbolFile.cs: Much, much better string writing.
+
+2003-12-20 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       [Revision 1.36, approved.  Martin]
+       * MonoSymbolTable.cs: Fewer StringBuilder allocs.
+
+2003-12-08  Zoltan Varga  <vargaz@freemail.hu>
+
+       * MonoSymbolWriter.cs: Create ArrayLists only when needed.
+
+2003-12-07 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       [Revision 1.35, approved.  Martin]
+       * MonoSymbolTable.cs: It is faster to do a linear search
+       than it is to make a hashtable. Even though the linear
+       search is O(n^2) while the hashtable is O(n), the allocation
+       cost for a hashtable is *very* high, especially when only
+       a few members will be added.
+
+2003-09-06  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs: Removed debugging output.
+
+2003-08-05  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs (MethodEntry.Index): New public field.
+
+2003-06-27  Zoltan Varga  <vargaz@freemail.hu>
+
+       * MonoSymbolWriter.cs: Enable calling of DefineDocument multiple
+       times with the same URL.
+
+2003-06-10  Zoltan Varga  <vargaz@freemail.hu>
+
+       * MonoSymbolFile.cs: Fix off-by-one error.
+
+2003-03-22  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs (MethodEntry.LocalNamesAmbiguous): New public
+       field.  Specifies whether two local variables have the same name.
+
+2003-03-13  Martin Baulig  <martin@ximian.com>
+
+       Added basic support for lexical scopes.  This is just to tell a
+       debugger that a local variable is only available in a specific
+       lexical scope and that another variable of the same name may exist
+       in another lexical scope.  See debugger/test/TestLexicalScope.cs
+       for examples.
+
+       * MonoSymbolTable.cs (LexicalScopeEntry): New class.
+       (LocalVariableEntry): Added `BlockIndex' field which specifies the
+       lexical scope of this variable.
+
+       * MonoSymbolWriter.cs (SourceBlock): Removed, we're now using
+       LexicalScopeEntry instead.
+
+2003-02-22  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs: Incremented version number.
+
+2003-02-22  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs (MonoSymbolFile.FindMethod): Fixed a bug.
+       (MonoSymbolFile.MethodLookup): New method.
+
+2003-02-18  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs (MonoSymbolFile.GetMethod): Added overloaded
+       version which takes a MethodBase.
+
+2003-02-18  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs (MethodIndexEntry): New public struct.
+
+       * MonoSymbolFile.cs (MonoSymbolFile.GetMethodByToken): New method.
+
+2003-02-18  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs (MonoSymbolFile.Assembly): New public property.
+
+       * MonoSymbolTable.cs (MethodEntry.MethodBase): New public property.
+       (MethodEntry.LocalTypes): New public variable.
+
+2003-02-18  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs (MethodEntry.ThisTypeIndex): Renamed to
+       ClassTypeIndex; provide this for all methods so we can get the
+       class of static methods.
+
+2003-02-10  Nick Drochak  <ndrochak@gol.com>
+
+       * Mono.CSharp.Debugger.build: passing the /r using an 'arg' node works.
+       The <include> node wasn't getting to the compiler. This fixes build
+       breakage on cygwin.
+
+       * MonoSymbolFile.cs: Qualify which Min method. Fixes build breakage
+       on cygwin.
+
+2003-02-09  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolWriter.cs (MonoSymbolWriter.ctor): We don't need the
+       `mbuilder_array' anymore.
+
+2003-02-09  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolWriter.cs (SourceFile): Derive from SourceFileEntry.
+       (SourceBlock): We don't need source lines here.
+       (SourceMethod): We're always constructed with source info.
+
+       * MonoSymbolTable.cs: Added support for namespaces.
+       (NamespaceEntry): New struct.
+       (SourceFileEntry.DefineNamespace): New method.
+       (MethodEntry.BuildLineNumberTable): The table is already sorted,
+       so we don't need to do this here.
+
+2003-02-09  Martin Baulig  <martin@ximian.com>
+
+       * IMonoSymbolWriter.cs: Ooops, I forgot to remove this.
+
+2003-02-08  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolDocumentWriter.cs: Removed.
+
+       * MonoSymbolWriter.cs (SourceFile): Implement ISymbolDocumentWriter.
+
+2003-02-08  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs (GetMethodSource): New public method.
+       (FindMethod): Return the correct index.
+
+2003-02-07  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs (Methods, Sources): New public properties.
+
+2003-02-07  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs (MonoSymbolFile.ReadSymbolFile): New public
+       static method, returns null (without throwing an exception) if the
+       assembly doesn't have any debugging info.
+
+2003-02-07  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolWriter.cs (MonoSymbolWriter.Initialize): Removed the
+       custom initialization function.
+
+       * MonoSymbolTableWriter.cs: Removed; the code is now in
+       MonoSymbolFile.cs and MonoSymbolWriter.cs.
+
+2003-02-07  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs: The symbol file is now a resource in the
+       assembly instead of a separate file.
+
+       * MonoSymbolTable.cs: Did a few more cleanups, sort the line
+       number table and remove duplicate line numbers.
+
+2003-02-05  Martin Baulig  <martin@ximian.com>
+
+       Modified the symbol file format to speed up method looks by name
+       and cleaned this up a lot.
+
+       * MonoSymbolFile.cs: New public class.  This is now a public class
+       and writes and reads the symbol file.
+
+       * IMonoBinaryReader.cs: Removed.
+
+       * MonoSymbolTable.cs: Set version number to 29.
+
+2003-01-17  Zoltan Varga  <vargaz@freemail.hu>
+
+       * MonoSymbolWriter.cs (OpenMethod): Make it work on constructors.
+
+2002-10-13  Martin Baulig  <martin@gnome.org>
+
+       * MonoSymbolTable.cs: Set version number to 28.
+       (SourceFileEntry): Read the methods when they're needed.
+       (MethodSourceEntry): Made this a struct, not a class.
+
+2002-10-13  Martin Baulig  <martin@gnome.org>
+
+       * MonoSymbolTable.cs: Set version number to 27.  Added a source
+       file table which is used to search a method by source file + line number.
+
+2002-09-21  Martin Baulig  <martin@gnome.org>
+
+       * MonoSymbolTable.cs: Set version number to 26.  Removed all the dynamic
+       stuff, this library now just deals with the compiler generated symbol table.
+       The dynamic stuff is private between the JIT and the debugger.
+
+2002-09-21  Martin Baulig  <martin@gnome.org>
+
+       * MonoSymbolTable.cs: Set version number to 25.  Added information about
+       local variables.
+
+2002-09-20  Martin Baulig  <martin@gnome.org>
+
+       * MonoSymbolTable.cs: Set version number to 24.  Added a type index
+       table.  Write the type of a local variable or a parameter as an index
+       into this table.
+
+2002-09-20  Martin Baulig  <martin@gnome.org>
+
+       * IMonoSymbolWriter.cs: Remove all the unused interfaces.
+
+2002-09-20  Martin Baulig  <martin@gnome.org>
+
+       * MonoSymbolTable.cs: Set version number to 23, include the size
+       of a variable.
+
+2002-09-20  Martin Baulig  <martin@gnome.org>
+
+       * MonoSymbolTable.cs: Set version number to 22.  Provide information
+       about parameters and local variables.
+
+2002-09-20  Martin Baulig  <martin@gnome.org>
+
+       * IMonoSymbolWriter.cs: Use fullly qualified name for
+       System.Diagnostics.SymbolStore.ISymbolWriter rather than `using' this
+       namespace.  This allows us to use the name `ISymbolWriter' in our own
+       code.
+
+2002-09-18  Martin Baulig  <martin@gnome.org>
+
+       * MonoSymbolTable.cs: Set version number to 21.  Encode the source file
+       as a 4-byte length field followed by the UTF8 encoded string.
+
+2002-09-18  Martin Baulig  <martin@gnome.org>
+
+       * IMonoBinaryReader.cs: New interface.
+
+       * MonoSymbolTable.cs: Use IMonoBinaryReader instead of binary reader.
+
+2002-09-16  Martin Baulig  <martin@gnome.org>
+
+       * MonoSymbolTable.cs: Set version number to 20.
+
 2002-09-14  Martin Baulig  <martin@gnome.org>
 
        * MonoSymbolWriter.cs, IMonoSymbolWriter.cs, MonoSymbolTableWriter.cs: