internal PdbWriter(SymWriter writer, ModuleDefinition module, string assembly) { m_writer = writer; m_module = module; m_documents = new Hashtable(); m_assembly = assembly; }
public static ISymbolWriter CreateWriter(string assembly, string pdb) { SymWriter writer = new SymWriter(false); object objDispenser, objImporter; CoCreateInstance(ref s_dispenserClassID, null, 1, ref s_dispenserIID, out objDispenser); IMetaDataDispenser dispenser = (IMetaDataDispenser)objDispenser; dispenser.OpenScope(assembly, 1, ref s_importerIID, out objImporter); IntPtr importerPtr = Marshal.GetComInterfaceForObject(objImporter, typeof(IMetadataImport)); try { if (File.Exists(pdb)) { File.Delete(pdb); } writer.Initialize(importerPtr, pdb, false); } finally { if (importerPtr != IntPtr.Zero) { Marshal.Release(importerPtr); Marshal.ReleaseComObject(objDispenser); Marshal.ReleaseComObject(objImporter); Marshal.ReleaseComObject(dispenser); } } return(writer); }
internal NativePdbWriter(ModuleDefinition module, SymWriter writer) { this.module = module; this.writer = writer; this.documents = new Dictionary <string, SymDocumentWriter> (); this.import_info_to_parent = new Dictionary <ImportDebugInformation, MetadataToken> (); }
public static SymWriter CreateWriter (ModuleDefinition module, string path, Stream pdb) { var writer = new SymWriter (); writer.Initialize (new ModuleMetadata (module), path, pdb, true); return writer; }
internal NativePdbWriter(ModuleDefinition module, SymWriter writer, Func <string, string> sourcePathRewriter = null, Action <Signature> signatureProvider = null) { this.module = module; this.writer = writer; this.documents = new Dictionary <string, SymDocumentWriter> (); this.sourcePathRewriter = sourcePathRewriter; this.signatureProvider = signatureProvider; }
public CustomMetadataWriter(SymWriter sym_writer) { this.sym_writer = sym_writer; this.stream = new MemoryStream(); this.writer = new BinaryStreamWriter(stream); writer.WriteByte(version); writer.WriteByte(0); // count writer.Align(4); }
internal PdbWriter(ModuleDefinition module, SymWriter writer, /*Telerik Authorship*/ Dictionary <MethodDefinition, Dictionary <VariableDefinition, string> > methodsVariableDefinitionToNameMap) { this.module = module; this.writer = writer; this.documents = new Dictionary <string, SymDocumentWriter> (); /*Telerik Authorship*/ this.methodsVariableDefinitionToNameMap = methodsVariableDefinitionToNameMap; }
public static SymWriter CreateWriter (ModuleDefinition module, string pdb) { var writer = new SymWriter (); if (File.Exists (pdb)) File.Delete (pdb); writer.Initialize (new ModuleMetadata (module), pdb, true); return writer; }
internal PdbWriter(ModuleDefinition module, SymWriter writer) { this.module = module; this.writer = writer; this.documents = new Dictionary <string, SymDocumentWriter> (); }
public static SymWriter CreateWriter(string pdb) { SymWriter writer = new SymWriter (); object objDispenser; CoCreateInstance (ref s_dispenserClassID, null, 1, ref s_dispenserIID, out objDispenser); object emitter; IMetaDataDispenser dispenser = (IMetaDataDispenser) objDispenser; dispenser.DefineScope (ref CLSID_CorMetaDataRuntime, 0, ref IID_IMetaDataEmit, out emitter); try { if (File.Exists (pdb)) File.Delete (pdb); writer.Initialize (emitter, pdb, true); } finally { Marshal.ReleaseComObject (dispenser); } return writer; }