2002-07-31 Duncan Mak <duncan@ximian.com>
[mono.git] / mcs / class / Mono.CSharp.Debugger / ChangeLog
index df8eec0632795642dd670ff89dadf3c1610fc33f..d6de0fae8f43f8b12bdeef03a52323796c3aafca 100644 (file)
@@ -1,5 +1,236 @@
+2002-07-05  Martin Baulig  <martin@gnome.org>
+
+       * MonoDwarfFileWriter.cs: Added support for types in referenced assemblies.
+
+2002-07-05  Martin Baulig  <martin@gnome.org>
+
+       * MonoDwarfFileWriter.cs: Added support for arrays.
+
+       * gdb-csharp-support.patch: Updated.
+
+2002-06-29  Martin Baulig  <martin@gnome.org>
+
+       * MonoDwarfFileWriter.cs (DieInheritance): Make this actually work.
+
+2002-06-29  Martin Baulig  <martin@gnome.org>
+
+       * MonoDwarfFileWriter.cs, MonoSymbolWriter.cs: Put all TAG_subprogram's into their
+       corresponding struct/class declarations.
+
+2002-06-28  Martin Baulig  <martin@gnome.org>
+
+       * gdb-csharp-support.patch: Updated.
+
+2002-06-28  Martin Baulig  <martin@gnome.org>
+
+       * MonoDwarfFileWriter.cs: Use a TAG_string_type when we're using GNU extensions.
+       Make static struct/class fields actually work.  Provide a TAG_typedef for struct's
+       and classes.
+
+2002-05-30  Martin Baulig  <martin@gnome.org>
+
+       * IMonoSymbolWriter (IMonoSymbolWriter): Added custom `Initialize' method.
+
+       * MonoSymbolWriter.cs (Initialize): The ISymbolWriter's `Initialize' method
+       is no longer supported and throws an exception.
+       (Initialize (string, string[])): New custom initialization function.
+
+       * MonoDwarfFileWriter.cs (DwarfFileWriter): Added `string[] args' argument
+       to the constructor to pass command line arguments.
+
+       * gdb-csharp-support.patch: Updated for GDB 5.2.
+
+2002-05-30  Martin Baulig  <martin@gnome.org>
+
+       * MonoSymbolWriter.cs (MonoSymbolWriter): The constructor now get's the
+       AssemblyBuilder's `methods' array as third argument.
+       (OpenMethod): Use this array to get the method builder rather than using an
+       interncall for it.
+       (get_method_builder): Removed this interncall.
+
+2002-05-25  Martin Baulig  <martin@gnome.org>
+
+       * MonoDwarfFileWriter.cs: Finished the type rewrite, put back strings and arrays.
+
+2002-05-24  Martin Baulig  <martin@gnome.org>
+
+       * IMonoSymbolWriter.cs (ISourceMethod): Added `FullName' and `Parameters'.
+       (ITypeHandle): New interface.
+
+       * DwarfFileWriter.cs: Largely reorganized the type writing code.  Types are
+       now represented by ITypeHandle objects which are stored in a per-dwarf-writer
+       hash table.  At the moment, all types still need to be in one compile unit due
+       to lacking support in gdb - but this new type code here already supports this.
+
+       * MonoSymbolWriter.cs: Moved all the subclasses to the top-level and made them
+       public, cleaned up the code, put everything into one compile unit.
+       (DefineLocalVariable): Added a version of this function which takes useful args.
+
+2002-05-22  Martin Baulig  <martin@gnome.org>
+
+       * IMonoSymbolWriter.cs (IMonoSymbolWriter): Added `Sources' and `Methods'
+       properties.
+
+       * MonoDwarfFileWriter.cs (WriteSymbolTable): New public method.  Moved the
+       code that writes the "mono_line_numbers" section here from the LineNumberEngine.
+
+2002-05-22  Martin Baulig  <martin@gnome.org>
+
+       * IMonoSymbolWriter.cs (IVariable): Replaced Token with `ISourceMethod Method'.
+
+       * MonoSymbolWriter.cs (MonoSymbolWriter): The constructor now has an additional
+       ModuleBuilder argument.
+       (OpenMethod): Immediately call the `get_method' interncall to get the MethodBase
+       from the token, then store the MethodBase instead of the token.  The token may
+       still change during the metadata library's fixup process.
+       (DoFixups): When the image has been written to disk, call the GetToken () method
+       on all MethodBuilders and all ConstructorBuilders to get the final metadata tokens.
+
+2002-05-22  Martin Baulig  <martin@gnome.org>
+
+       * AssemblerWriterI386.cs: Don't use GNU extensions and produce assembler
+       output which is free of comments and extra whitespaces so that it's suitable
+       for `as -f'.
+
+2002-05-22  Martin Baulig  <martin@gnome.org>
+
+       * IMonoSymbolWriter.cs (ISourceMethod): Replaced `MethodInfo MethodInfo' with
+       `MethodBase MethodBase' and added `Type ReturnType'.  We're now correctly
+       dealing with constructors and not crashing anymore.
+
+2002-05-21  Martin Baulig  <martin@gnome.org>
+
+       * MonoDwarfFileWriter.cs: Write a special line number table which can be read
+       in by the metadata library to get line number information in backtraces.
+
+2002-05-06  Martin Baulig  <martin@gnome.org>
+
+       * MonoSymbolWriter.cs (MonoSymbolWriter.Close): Use Assembly.LoadFrom (), not
+       AppDomain.Load () to load the assembly.
+
+2002-04-26  Martin Baulig  <martin@gnome.org>
+
+       * gdb-csharp-support.patch: A patch for GDB (against the latest CVS version)
+       to implement C# support.
+
+       * csharp-lang.c, csharp-lang.h, csharp-mono-lang.c: Copy these into your GDB
+       source directory after applying the patch.
+
+2002-04-26  Martin Baulig  <martin@gnome.org>
+
+       * MonoDwarfFileWriter.cs (DieInternalString): Removed.
+
+2002-04-25  Martin Baulig  <martin@gnome.org>
+
+       * MonoDwarfFileWriter.cs: Reflect latest MonoString changes.
+
+2002-04-13  Martin Baulig  <martin@gnome.org>
+
+       * IMonoSymbolWriter.cs (ISourceBlock): Added `Blocks' property and `AddBlock'
+       method to support nested blocks.
+
+       * MonoSymbolWriter.cs: Correctly handle nested blocks.
+
+       * MonoDwarfFileWriter.cs (DieMember): Provide info for all fields, not just for
+       public ones; also added DW_AT_accessibility.
+       (DieVariable): Reflected latest debug-symfile.c changes.
+
+2002-04-12  Martin Baulig  <martin@gnome.org>
+
+       * gdb-variable-scopes.patch: A patch for GDB (against the latest CVS version)
+       to implement variable lifetimes.
+
+2002-04-12  Martin Baulig  <martin@gnome.org>
+
+       * MonoDwarfFileWriter.cs (DieVariable): Provide info about the variable's
+       lifetime using DW_AT_begin_scope and a new baulig extension DW_AT_end_scope.
+
+2002-03-29  Martin Baulig  <martin@gnome.org>
+
+       * AssemblerWriterI386.cs: Rewrote most of the string output function, do the
+       number->string conversion manually. It's now taking about 15 seconds to write
+       a symbol file for MCS, no longer more than a minute.
+
+       * MonoDwarfFileWriter.cs: Added some profiling code, speeded things up, fixed
+       a few bugs.
+
+2002-03-25  Martin Baulig  <martin@gnome.org>
+
+       * MonoDwarfFileWriter.cs (CreateType): Return a `DieType'.
+       (RegisterType): Add the type to the type hash before creating dependency types
+       so we don't get recursion loops.
+       (RegisterPointerType): New func to register a "pointer to type" type.
+       (DieTypeDef, DiePointerType, DieArrayType, DieStringType, DieClassType): New
+       types; added support for strings, arrays and basic support for classes.
+       
+2002-03-24  Martin Baulig  <martin@gnome.org>
+
+       * IMonoSymbolWriter.cs: Killed all methods in this interface, no longer needed.
+
+       * MonoSymbolWriter.cs (MonoSymbolWriter): The constructor now takes a string
+       argument which is the full pathname of the assembly - you must call Close()
+       after the assembly has been written to disk since the symbol writer needs to
+       load the finished assembly to get its metadata.
+
+       * MonoDwarfFileWriter.cs: Added support for enums and structs.
+       
+2002-03-24  Martin Baulig  <martin@gnome.org>
+
+       * MonoDwarfFileWriter.cs: Added support for method parameters.
+
+2002-03-24  Martin Baulig  <martin@gnome.org>
+
+       * IMonoSymbolWriter.cs (IMonoSymbolWriter): Removed my custom OpenMethod(),
+       we're now using the ISymbolWriter's method.
+       (IVariable): Added `byte[] Signature' property.
+
+       * MonoSymbolWriter.cs (SetAssembly): New method. This must be called before
+       Close(); the assembly parameter is the already-written assembly, ie. it must
+       contain the full metadata.
+       (OpenMethod): Only take the token argument and set MethodInfo later in DoFixups.
+       (SetMethodSourceRange): You must call this function to tell the symbol writer
+       in which source file the method is defined.
+       (DefineLocal): Store the signature in the local.
+       (DoFixups): Use two new interncalls to set the SourceMethod's MethodInfo field
+       and the LocalVariable's Type field.
+
+2002-03-23  Martin Baulig  <martin@gnome.org>
+
+       * IMonoSymbolWriter.cs (ISourceBlock): New interface.
+       (ILocalVariable): Renamed this interface to IVariable.
+       (IVariable): Added Line, Type, Token.
+       (ILocalVariable, IMethodParameter): New interfaces, derive from IVariable.
+       (ISourceMethod): Added Blocks. Renamed FirstLine and LastLine to Start and End,
+       changed their type to ISourceLine. Removed CodeSize.
+       (ISourceLine): Renamed Line to Row, added Column. Added OffsetType and Offset.
+
+       * MonoDwarfFileWriter.cs (MonoDwarfFileWriter.DieLexicalBlock): New class.
+       (MonoDwarfFileWriter.DieMethodVariable): New class.
+
+       * MonoSymbolWriter.cs (OpenScope, CloseScope): Implemented.
+       Reflected latest IMonoSymbolWriter interface changes.
+
+2002-03-20  Martin Baulig  <martin@gnome.org>
+
+       * IAssemblerWriter.cs: New interface.
+
+       * AssemblerWriterI386.cs: New class.
+
+       * MonoDwarfFileWriter.cs: Use the IAssemblerWriter interface to make this class
+       platform and assembler independent.
+
+2002-03-20  Martin Baulig  <martin@gnome.org>
+
+       * IMonoSymbolWriter.cs (ISourceMethod): Added FirstLine, LastLine, CodeSize and
+       Token properties.
+
+       * MonoDwarfFileWriter.cs: Implemented line number support.
+
 2002-03-19  Martin Baulig  <martin@gnome.org>
 
+       * IMonoSymbolWriter.cs (ISourceFile, ISourceMethod, ISourceLine, ILocalVariable):
+       New interfaces.
+
        * IMonoSymbolWriter.cs (OpenMethod): Take a System.Reflection.MethodInfo, not
        a string.