3 namespace Mono.Debugger.Soft
5 public class Location : Mirror
15 int end_column_number;
17 internal Location (VirtualMachine vm, MethodMirror method, long native_addr, int il_offset, string source_file, int line_number, int column_number, int end_line_number, int end_column_number, byte[] hash) : base (vm, 0) {
19 //this.native_addr = native_addr;
20 this.il_offset = il_offset;
21 this.source_file = source_file;
22 this.line_number = line_number;
24 this.column_number = column_number;
25 this.end_line_number = end_line_number;
26 this.end_column_number = end_column_number;
29 public MethodMirror Method {
41 public string SourceFile {
47 public int LineNumber {
53 // Since protocol version 2.19, 0 in earlier protocol versions
54 public int ColumnNumber {
60 // Since protocol version 2.32, -1 in earlier protocol versions, or if not available
61 public int EndLineNumber {
63 return end_line_number;
67 // Since protocol version 2.32, -1 in earlier protocol versions, or if not available
68 public int EndColumnNumber {
70 return end_column_number;
74 // MD5 hash of source file
75 // Since protocol version 2.14, null in earlier protocol versions
76 public byte[] SourceFileHash {
82 public override string ToString () {
83 if (EndLineNumber != -1 && EndColumnNumber != -1)
84 return String.Format ("{0}+0x{1:x} at {2}:[{3}:{4}-{5}:{6}]", Method.FullName, ILOffset, SourceFile, LineNumber, ColumnNumber, EndLineNumber, EndColumnNumber);
86 return String.Format ("{0}+0x{1:x} at {2}:{3}", Method.FullName, ILOffset, SourceFile, LineNumber);