using System;
using System.Runtime.InteropServices;
namespace System.Diagnostics.SymbolStore
{
/// Represents a symbol reader for managed code.
// Token: 0x02000151 RID: 337
[ComVisible(true)]
public interface ISymbolReader
{
/// Gets the metadata token for the method that was specified as the user entry point for the module, if any.
/// The metadata token for the method that is the user entry point for the module.
// Token: 0x170002DB RID: 731
// (get) Token: 0x060010F0 RID: 4336
SymbolToken UserEntryPoint { get; }
/// Gets a document specified by the language, vendor, and type.
/// The specified document.
/// The URL that identifies the document.
/// The document language. You can specify this parameter as .
/// The identity of the vendor for the document language. You can specify this parameter as .
/// The type of the document. You can specify this parameter as .
// Token: 0x060010F1 RID: 4337
ISymbolDocument GetDocument(string url, Guid language, Guid languageVendor, Guid documentType);
/// Gets an array of all documents defined in the symbol store.
/// An array of all documents defined in the symbol store.
// Token: 0x060010F2 RID: 4338
ISymbolDocument[] GetDocuments();
/// Gets all global variables in the module.
/// An array of all variables in the module.
// Token: 0x060010F3 RID: 4339
ISymbolVariable[] GetGlobalVariables();
/// Gets a symbol reader method object when given the identifier of a method.
/// The symbol reader method object for the specified method identifier.
/// The metadata token of the method.
// Token: 0x060010F4 RID: 4340
ISymbolMethod GetMethod(SymbolToken method);
/// Gets a symbol reader method object when given the identifier of a method and its edit and continue version.
/// The symbol reader method object for the specified method identifier.
/// The metadata token of the method.
/// The edit and continue version of the method.
// Token: 0x060010F5 RID: 4341
ISymbolMethod GetMethod(SymbolToken method, int version);
/// Gets a symbol reader method object that contains a specified position in a document.
/// The reader method object for the specified position in the document.
/// The document in which the method is located.
/// The position of the line within the document. The lines are numbered, beginning with 1.
/// The position of column within the document. The columns are numbered, beginning with 1.
// Token: 0x060010F6 RID: 4342
ISymbolMethod GetMethodFromDocumentPosition(ISymbolDocument document, int line, int column);
/// Gets the namespaces that are defined in the global scope within the current symbol store.
/// The namespaces defined in the global scope within the current symbol store.
// Token: 0x060010F7 RID: 4343
ISymbolNamespace[] GetNamespaces();
/// Gets an attribute value when given the attribute name.
/// The value of the attribute.
/// The metadata token for the object for which the attribute is requested.
/// The attribute name.
// Token: 0x060010F8 RID: 4344
byte[] GetSymAttribute(SymbolToken parent, string name);
/// Gets the variables that are not local when given the parent.
/// An array of variables for the parent.
/// The metadata token for the type for which the variables are requested.
// Token: 0x060010F9 RID: 4345
ISymbolVariable[] GetVariables(SymbolToken parent);
}
}