MCPcopy Create free account
hub / github.com/compiler-explorer/compiler-explorer / tableStream

Function tableStream

test/dotnet-parser-tests.ts:203–218  ·  view source on GitHub ↗
(rows: Record<number, Buffer[]>)

Source from the content-addressed store, hash-verified

201}
202
203function tableStream(rows: Record<number, Buffer[]>) {
204 // Emit a minimal #~ metadata table stream.
205 const tableIds = Object.keys(rows)
206 .map(Number)
207 .sort((left, right) => left - right);
208 const validTables = tableIds.reduce((mask, tableId) => mask | (1n << BigInt(tableId)), 0n);
209
210 return Buffer.concat([
211 u32(0), // Reserved
212 bytes(2, 0, 0, 1), // MajorVersion, MinorVersion, HeapSizes, Reserved
213 u64(validTables),
214 u64(0n), // Sorted table mask; the parser only needs the valid table mask and row order.
215 ...tableIds.map(tableId => u32(rows[tableId].length)),
216 ...tableIds.flatMap(tableId => rows[tableId]),
217 ]);
218}
219
220function methodSignature(returnType: Buffer, parameters: Buffer[], genericParameterCount = 0) {
221 return Buffer.concat([

Callers 1

ecma335FixtureFunction · 0.85

Calls 4

u32Function · 0.85
bytesFunction · 0.85
u64Function · 0.85
sortMethod · 0.80

Tested by

no test coverage detected