diff options
Diffstat (limited to 'mcs/class/Mono.CSharp.Debugger/IMonoSymbolWriter.cs')
-rw-r--r-- | mcs/class/Mono.CSharp.Debugger/IMonoSymbolWriter.cs | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/mcs/class/Mono.CSharp.Debugger/IMonoSymbolWriter.cs b/mcs/class/Mono.CSharp.Debugger/IMonoSymbolWriter.cs new file mode 100644 index 00000000000..c4f56049283 --- /dev/null +++ b/mcs/class/Mono.CSharp.Debugger/IMonoSymbolWriter.cs @@ -0,0 +1,167 @@ +// +// System.Diagnostics.SymbolStore/IMonoSymbolWriter.cs +// +// Author: +// Martin Baulig (martin@gnome.org) +// +// This interface is derived from System.Diagnostics.SymbolStore.ISymbolWriter. +// +// (C) 2002 Ximian, Inc. http://www.ximian.com +// + +using System; +using System.Reflection; +using System.Reflection.Emit; +using System.Diagnostics.SymbolStore; +using System.Collections; +using System.IO; + +namespace Mono.CSharp.Debugger +{ + public interface IMonoSymbolWriter : ISymbolWriter + { } + + public interface ISourceFile + { + string FileName { + get; + } + + ISourceMethod[] Methods { + get; + } + + void AddMethod (ISourceMethod method); + } + + public interface ISourceMethod + { + ISourceLine[] Lines { + get; + } + + void AddLine (ISourceLine line); + + ISourceBlock[] Blocks { + get; + } + + ILocalVariable[] Locals { + get; + } + + void AddLocal (ILocalVariable local); + + + ISourceLine Start { + get; + } + + ISourceLine End { + get; + } + + int Token { + get; + } + + MethodInfo MethodInfo { + get; + } + + ISourceFile SourceFile { + get; + } + } + + public interface ISourceBlock + { + ISourceMethod SourceMethod { + get; + } + + ILocalVariable[] Locals { + get; + } + + void AddLocal (ILocalVariable local); + + ISourceBlock[] Blocks { + get; + } + + void AddBlock (ISourceBlock block); + + ISourceLine Start { + get; + } + + ISourceLine End { + get; + } + + int ID { + get; + } + } + + public enum SourceOffsetType + { + OFFSET_NONE, + OFFSET_IL, + OFFSET_LOCAL, + OFFSET_PARAMETER + } + + public interface ISourceLine + { + SourceOffsetType OffsetType { + get; + } + + int Offset { + get; + } + + int Row { + get; + } + + int Column { + get; + } + } + + public interface IVariable + { + string Name { + get; + } + + ISourceLine Line { + get; + } + + byte[] Signature { + get; + } + + Type Type { + get; + } + + int Token { + get; + } + + int Index { + get; + } + } + + public interface ILocalVariable : IVariable + { } + + public interface IMethodParameter : IVariable + { } +} |