2 // System.Diagnostics.SymbolStore/IMonoSymbolWriter.cs
5 // Martin Baulig (martin@gnome.org)
7 // This interface is derived from System.Diagnostics.SymbolStore.ISymbolWriter.
9 // (C) 2002 Ximian, Inc. http://www.ximian.com
13 using System.Reflection;
14 using System.Reflection.Emit;
15 using System.Diagnostics.SymbolStore;
16 using System.Collections;
19 namespace Mono.CSharp.Debugger
21 public interface IMonoSymbolWriter : ISymbolWriter
23 // The ISymbolWriter interface has an `IntPtr emitter' argument which
24 // seems to be a pointer an unmanaged interface containing the actual
25 // symbol writer. I was unable to find any documentation about how
26 // exactly this is used - but it seems to be in some proprietary,
29 // Since I want this interface to be usable on the Windows platform as
30 // well, I added this custom constructor. You should use this version
31 // of `Initialize' to make sure you're actually using this implementation.
32 void Initialize (string filename);
34 // This is some kind of a hack - there isn't any way yet to get the
35 // method name and source file back from a token.
36 void OpenMethod (SymbolToken token, MethodInfo method_info, string source_file);
39 public interface ISourceFile
45 ISourceMethod[] Methods {
49 void AddMethod (ISourceMethod method);
52 public interface ISourceMethod
58 void AddLine (ISourceLine line);
60 ILocalVariable[] Locals {
64 void AddLocal (ILocalVariable local);
82 MethodInfo MethodInfo {
86 ISourceFile SourceFile {
91 public interface ISourceLine
102 public interface ILocalVariable