summaryrefslogtreecommitdiff
path: root/src/mscorlib/src/System/Diagnostics/SymbolStore/ISymDocument.cs
blob: c458b8e8a99059db8b82a2bd3ba3c32e62e66397 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

/*============================================================
**
**
**
** Represents a document referenced by a symbol store. A document is
** defined by a URL and a document type GUID. Using the document type
** GUID and the URL, one can locate the document however it is
** stored. Document source can optionally be stored in the symbol
** store. This interface also provides access to that source if it is
** present.
**
** 
===========================================================*/
namespace System.Diagnostics.SymbolStore {
    
    using System;
    
    // Interface does not need to be marked with the serializable attribute
[System.Runtime.InteropServices.ComVisible(true)]
    public interface ISymbolDocument
    {
        // Properties of the document.
        String URL { get; }
        Guid DocumentType { get; }
    
        // Language of the document.
        Guid Language { get; }
        Guid LanguageVendor { get; }
    
        // Check sum information.
        Guid CheckSumAlgorithmId { get; }
        byte[] GetCheckSum();
    
        // Given a line in this document that may or may not be a sequence
        // point, return the closest line that is a sequence point.
        int FindClosestLine(int line);
        
        // Access to embedded source.
        bool HasEmbeddedSource { get; }
        int SourceLength { get; }
        byte[] GetSourceRange(int startLine, int startColumn,
                                      int endLine, int endColumn);
    }
}