ethdebug / format

Smart contract debugging data format – Standards development working group
https://ethdebug.github.io/format/
44 stars 4 forks source link

Multiple Named Sets of source locations #30

Open ekpyron opened 1 year ago

ekpyron commented 1 year ago

A compilation pipeline can consist of multiple stages, for us solidity-yul, yul-evmasm and evmasm-bytecode.

The format allows multiple source locations, i.e. source is a list.

I'd suggest to give it more structure like a list of lists, where the outermost list indexes into a globally described set of source languages (for us that would likely be "Solidity" and "Yul-IR" or such; the former can be marked as "origin" explicitly).

In the future, even more stages could appear, like pre- and post some preprocessor- or desugaring-stages.