ethereum / solidity

Solidity, the Smart Contract Programming Language
https://soliditylang.org
GNU General Public License v3.0
22.67k stars 5.62k forks source link

[ethdebug] Transport debug data through block flattener. #15087

Open aarlt opened 1 month ago

aarlt commented 1 month ago

Depends on #14969 and #15009.

(#15009 is just cherry-picked here and should be removed once merged)

See https://notes.ethereum.org/lznAP49lRj6zrLJdLpkqwg.

Block Flattening

Effect

{
    {   
        ...A...
    }
    {
        ...B...
    }
}

--->

{
    ...A...
    ...B...
}

Relevance

None. Scopes in yul don't carry any information relevant to ethdebug.

Implementation

This PR just adds a simple test. No additional logic for the treatment of debug attributes needed.