make slither-flat work for top level errors, structs, enums #1852
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fix #1410 #1837
SlitherCompilationUnit
where they areCustomErrorTopLevel
and not justCustomError
SolidityCustomRevert
so when analyzing a revert SOLIDITY_CALL in slithir it's possible to get the custom error usedlist_top_level
andlist_contracts
to be a set and not a list. This avoid duplicates and a necessay check before appending that the element is not present as this is error prone. For example at the moment this check is missing when adding a top level function so if you were to use a top level function n times you will get n definitions of that function in the flattened output