public void Close() { InitWriter(); foreach (Method method in methods) { int remappedToken = method.token; remap.TryGetValue(remappedToken, out remappedToken); symUnmanagedWriter.OpenMethod(remappedToken); if (method.document != null) { ISymUnmanagedDocumentWriter doc = method.document.GetUnmanagedDocument(symUnmanagedWriter); symUnmanagedWriter.DefineSequencePoints(doc, method.offsets.Length, method.offsets, method.lines, method.columns, method.endLines, method.endColumns); } foreach (Scope scope in method.scopes) { scope.Do(symUnmanagedWriter); } symUnmanagedWriter.CloseMethod(); } foreach (Document doc in documents.Values) { doc.Release(); } symUnmanagedWriter.Close(); Marshal.ReleaseComObject(symUnmanagedWriter); symUnmanagedWriter = null; documents.Clear(); methods.Clear(); remap.Clear(); reversemap.Clear(); }
private void CloseMethod() { try { _symWriter.CloseMethod(); } catch (Exception ex) { throw new PdbWritingException(ex); } }
private void CloseMethod(int ilLength) { try { // close the root scope: CloseScope(endOffset: ilLength); _symWriter.CloseMethod(); } catch (Exception ex) { throw new PdbWritingException(ex); } }
public void Write(Function function) { pdb.OpenMethod(function.Token); WriteSources(function.Sources); WriteScopes(function.Scopes, function); WriteConstants(function.Constants); WriteVariables(function.Variables, function.VariablesToken, 0, 0); WriteIteratorClass(function); WriteIteratorScopes(function); // TODO // function.namespaceScopes // function.usedNamespaces // function.usingCounts pdb.CloseMethod(); }
public void CloseMethod() { m_writer.CloseMethod(); }
public override void CloseMethod() => writer.CloseMethod();