using System;
using System.Runtime.InteropServices;
namespace System.Diagnostics.SymbolStore
{
/// Represents a method within a symbol store.
// Token: 0x0200014F RID: 335
[ComVisible(true)]
public interface ISymbolMethod
{
/// Gets the root lexical scope for the current method. This scope encloses the entire method.
/// The root lexical scope that encloses the entire method.
// Token: 0x170002D7 RID: 727
// (get) Token: 0x060010E3 RID: 4323
ISymbolScope RootScope { get; }
/// Gets a count of the sequence points in the method.
/// The count of the sequence points in the method.
// Token: 0x170002D8 RID: 728
// (get) Token: 0x060010E4 RID: 4324
int SequencePointCount { get; }
/// Gets the containing the metadata for the current method.
/// The metadata token for the current method.
// Token: 0x170002D9 RID: 729
// (get) Token: 0x060010E5 RID: 4325
SymbolToken Token { get; }
/// Gets the namespace that the current method is defined within.
/// The namespace that the current method is defined within.
// Token: 0x060010E6 RID: 4326
ISymbolNamespace GetNamespace();
/// Gets the Microsoft intermediate language (MSIL) offset within the method that corresponds to the specified position.
/// The offset within the specified document.
/// The document for which the offset is requested.
/// The document line corresponding to the offset.
/// The document column corresponding to the offset.
// Token: 0x060010E7 RID: 4327
int GetOffset(ISymbolDocument document, int line, int column);
/// Gets the parameters for the current method.
/// The array of parameters for the current method.
// Token: 0x060010E8 RID: 4328
ISymbolVariable[] GetParameters();
/// Gets an array of start and end offset pairs that correspond to the ranges of Microsoft intermediate language (MSIL) that a given position covers within this method.
/// An array of start and end offset pairs.
/// The document for which the offset is requested.
/// The document line corresponding to the ranges.
/// The document column corresponding to the ranges.
// Token: 0x060010E9 RID: 4329
int[] GetRanges(ISymbolDocument document, int line, int column);
/// Returns the most enclosing lexical scope when given an offset within a method.
/// The most enclosing lexical scope for the given byte offset within the method.
/// The byte offset within the method of the lexical scope.
// Token: 0x060010EA RID: 4330
ISymbolScope GetScope(int offset);
/// Gets the sequence points for the current method.
/// The array of byte offsets from the beginning of the method for the sequence points.
/// The array of documents in which the sequence points are located.
/// The array of lines in the documents at which the sequence points are located.
/// The array of columns in the documents at which the sequence points are located.
/// The array of lines in the documents at which the sequence points end.
/// The array of columns in the documents at which the sequence points end.
// Token: 0x060010EB RID: 4331
void GetSequencePoints(int[] offsets, ISymbolDocument[] documents, int[] lines, int[] columns, int[] endLines, int[] endColumns);
/// Gets the start and end positions for the source of the current method.
/// true if the positions were defined; otherwise, false.
/// The starting and ending source documents.
/// The starting and ending lines in the corresponding source documents.
/// The starting and ending columns in the corresponding source documents.
// Token: 0x060010EC RID: 4332
bool GetSourceStartEnd(ISymbolDocument[] docs, int[] lines, int[] columns);
}
}