public void GetSequencePoints(int[] offsets, ISymbolDocument[] documents, int[] lines, int[] columns, int[] endLines, int[] endColumns) { int size = documents.Length; var unmanagedDocs = new ISymUnmanagedDocument[size]; HRESULT.ThrowOnFailure(_unmanaged.GetSequencePoints(size, out size, offsets, unmanagedDocs, lines, columns, endLines, endColumns)); for (int i = 0; i < size; i++) { documents[i] = new SymbolDocument(unmanagedDocs[i]); } }
public bool GetSourceStartEnd(ISymbolDocument[] docs, int[] lines, int[] columns) { var unmanagedDocs = new ISymUnmanagedDocument[docs.Length]; for (int i = 0; i < docs.Length; i++) { docs[i] = new SymbolDocument(unmanagedDocs[i]); } bool value; HRESULT.ThrowOnFailure(_unmanaged.GetSourceStartEnd(unmanagedDocs, lines, columns, out value)); return(value); }
public ISymbolDocument[] GetDocuments() { int docCount; HRESULT.ThrowOnFailure(_unmanaged.GetDocuments(0, out docCount, null)); var unmanagedDocuments = new ISymUnmanagedDocument[docCount]; HRESULT.ThrowOnFailure(_unmanaged.GetDocuments(unmanagedDocuments.Length, out docCount, unmanagedDocuments)); var documents = new ISymbolDocument[docCount]; for (int i = 0; i < docCount; i++) { documents[i] = new SymbolDocument(unmanagedDocuments[i]); } return(documents); }