public ManagedBinaryWriter( Stream outputStream, IEnumerable <ISymbolTable> importedTables, bool forceFloat64 = false) { if (!outputStream.CanWrite) { throw new ArgumentException("Output stream must be writable", nameof(outputStream)); } this.outputStream = outputStream; // raw writers and their buffers var lengthWriterBuffer = new PagedWriter256Buffer(); var lengthSegment = new List <Memory <byte> >(2); this.symbolsWriter = new RawBinaryWriter( lengthWriterBuffer, new PagedWriter256Buffer(), lengthSegment, forceFloat64); this.userWriter = new RawBinaryWriter( lengthWriterBuffer, new PagedWriter256Buffer(), lengthSegment, forceFloat64); this.importContext = new ImportedSymbolsContext(importedTables); this.locals = new Dictionary <string, int>(); }
public ManagedBinaryWriter(ISymbolTable[] importedTables) { //raw writers and their buffers var lengthWriterBuffer = new PagedWriter256Buffer(); var lengthSegment = new List <Memory <byte> >(2); _symbolsWriter = new RawBinaryWriter(lengthWriterBuffer, new PagedWriter256Buffer(), lengthSegment); _userWriter = new RawBinaryWriter(lengthWriterBuffer, new PagedWriter256Buffer(), lengthSegment); _importContext = new ImportedSymbolsContext(importedTables); _locals = new Dictionary <string, int>(); }
public ManagedBinaryWriter(Stream outputStream, ISymbolTable[] importedTables) { if (!outputStream.CanWrite) { throw new ArgumentException("Output stream must be writable", nameof(outputStream)); } _outputStream = outputStream; //raw writers and their buffers var lengthWriterBuffer = new PagedWriter256Buffer(); var lengthSegment = new List <Memory <byte> >(2); _symbolsWriter = new RawBinaryWriter(lengthWriterBuffer, new PagedWriter256Buffer(), lengthSegment); _userWriter = new RawBinaryWriter(lengthWriterBuffer, new PagedWriter256Buffer(), lengthSegment); _importContext = new ImportedSymbolsContext(importedTables); _locals = new Dictionary <string, int>(); }