MCPcopy Create free account
hub / github.com/CashScript/cashscript / buildLineToOpcodesMap

Function buildLineToOpcodesMap

packages/utils/src/bitauth-script.ts:9–24  ·  view source on GitHub ↗
(
  bytecode: Script,
  sourceMapOrLocationData: string | FullLocationData,
)

Source from the content-addressed store, hash-verified

7export type LineToAsmMap = Record<string, string>;
8
9export function buildLineToOpcodesMap(
10 bytecode: Script,
11 sourceMapOrLocationData: string | FullLocationData,
12): LineToOpcodesMap {
13 const locationData = typeof sourceMapOrLocationData === 'string' ? sourceMapToLocationData(sourceMapOrLocationData) : sourceMapOrLocationData;
14
15 return locationData.reduce<LineToOpcodesMap>((lineToOpcodeMap, singleLocation, index) => {
16 const opcode = bytecode[index];
17 const line = getDisplayLine(singleLocation);
18
19 return {
20 ...lineToOpcodeMap,
21 [line]: [...(lineToOpcodeMap[line] || []), opcode],
22 };
23 }, {});
24}
25
26export function buildLineToAsmMap(bytecode: Script, sourceMapOrLocationData: string | FullLocationData): LineToAsmMap {
27 const lineToOpcodesMap = buildLineToOpcodesMap(bytecode, sourceMapOrLocationData);

Callers 1

buildLineToAsmMapFunction · 0.85

Calls 2

sourceMapToLocationDataFunction · 0.85
getDisplayLineFunction · 0.85

Tested by

no test coverage detected