diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..87ef389a3d Binary files /dev/null and b/tests/ast-parsing/compile/assembly-all.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..20246078f7 Binary files /dev/null and b/tests/ast-parsing/compile/assembly-all.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..30420079bc Binary files /dev/null and b/tests/ast-parsing/compile/assembly-all.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..56a56a4aaa Binary files /dev/null and b/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..fe97cd4979 Binary files /dev/null and b/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..5861d82d6c Binary files /dev/null and b/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..a627f5cc46 Binary files /dev/null and b/tests/ast-parsing/compile/break-all.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..9f2efe6fac Binary files /dev/null and b/tests/ast-parsing/compile/break-all.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..33b07f2ec3 Binary files /dev/null and b/tests/ast-parsing/compile/break-all.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..b7b06e7039 Binary files /dev/null and b/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..69f5fe692c Binary files /dev/null and b/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..664c1b3790 Binary files /dev/null and b/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..69aa742a29 Binary files /dev/null and b/tests/ast-parsing/compile/comment-all.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..44cbee76c1 Binary files /dev/null and b/tests/ast-parsing/compile/comment-all.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..1424b07d8d Binary files /dev/null and b/tests/ast-parsing/compile/comment-all.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..7358784481 Binary files /dev/null and b/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..ac00a3c40f Binary files /dev/null and b/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..59c2d7d467 Binary files /dev/null and b/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..b421fef9f6 Binary files /dev/null and b/tests/ast-parsing/compile/conditional-all.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..53fac4b2be Binary files /dev/null and b/tests/ast-parsing/compile/conditional-all.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..e3e2adef65 Binary files /dev/null and b/tests/ast-parsing/compile/conditional-all.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..c34c7794e8 Binary files /dev/null and b/tests/ast-parsing/compile/continue-all.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..fe086dd31f Binary files /dev/null and b/tests/ast-parsing/compile/continue-all.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..03b7d5b7da Binary files /dev/null and b/tests/ast-parsing/compile/continue-all.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..b3397b955c Binary files /dev/null and b/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..9f1f52b6d4 Binary files /dev/null and b/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..5fc388cc65 Binary files /dev/null and b/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..5f5fdd9ea7 Binary files /dev/null and b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..15f1623ccd Binary files /dev/null and b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..a08315095b Binary files /dev/null and b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..8d6cd4f911 Binary files /dev/null and b/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..273da3edb3 Binary files /dev/null and b/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..5a34a9fa0e Binary files /dev/null and b/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..c2847ecbc8 Binary files /dev/null and b/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..7e285e3354 Binary files /dev/null and b/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..511c40b945 Binary files /dev/null and b/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..0535039b05 Binary files /dev/null and b/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..7b9bf9990b Binary files /dev/null and b/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..5604850051 Binary files /dev/null and b/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..8df293c031 Binary files /dev/null and b/tests/ast-parsing/compile/event-all.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..4ac15f98fd Binary files /dev/null and b/tests/ast-parsing/compile/event-all.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..f934cfe02d Binary files /dev/null and b/tests/ast-parsing/compile/event-all.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..a0f36910fd Binary files /dev/null and b/tests/ast-parsing/compile/for-all.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..be8cabc87f Binary files /dev/null and b/tests/ast-parsing/compile/for-all.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..61da5bf91d Binary files /dev/null and b/tests/ast-parsing/compile/for-all.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/function-0.7.1.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..d49dc3e3e9 Binary files /dev/null and b/tests/ast-parsing/compile/function-0.7.1.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/function-0.7.1.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..546cb8f3f1 Binary files /dev/null and b/tests/ast-parsing/compile/function-0.7.1.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/function-0.7.1.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..bb40cc0ffb Binary files /dev/null and b/tests/ast-parsing/compile/function-0.7.1.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..628f409cbe Binary files /dev/null and b/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..34cf27caf6 Binary files /dev/null and b/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..bc951a89d8 Binary files /dev/null and b/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..309ebec222 Binary files /dev/null and b/tests/ast-parsing/compile/if-all.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..184f827532 Binary files /dev/null and b/tests/ast-parsing/compile/if-all.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..1851aff07a Binary files /dev/null and b/tests/ast-parsing/compile/if-all.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..2a75f5def6 Binary files /dev/null and b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..9a4b41040c Binary files /dev/null and b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..0f89b6922f Binary files /dev/null and b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..0f1e4e6be2 Binary files /dev/null and b/tests/ast-parsing/compile/indexaccess-all.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..c4d10cccf9 Binary files /dev/null and b/tests/ast-parsing/compile/indexaccess-all.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..baca125cfd Binary files /dev/null and b/tests/ast-parsing/compile/indexaccess-all.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..6ffaad9236 Binary files /dev/null and b/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..5d81df8d1f Binary files /dev/null and b/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..f96cc28d80 Binary files /dev/null and b/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..a32f87daf4 Binary files /dev/null and b/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..198deded19 Binary files /dev/null and b/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..34a12d8c82 Binary files /dev/null and b/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..dc52106f9e Binary files /dev/null and b/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..1849ae7331 Binary files /dev/null and b/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..e949646081 Binary files /dev/null and b/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..37bbb2b45b Binary files /dev/null and b/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..682a042bfb Binary files /dev/null and b/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..5ef0bb8c44 Binary files /dev/null and b/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..7845c49f6c Binary files /dev/null and b/tests/ast-parsing/compile/modifier-all.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..cdc342f123 Binary files /dev/null and b/tests/ast-parsing/compile/modifier-all.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..d4d53a419e Binary files /dev/null and b/tests/ast-parsing/compile/modifier-all.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..e1d7642531 Binary files /dev/null and b/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..bb0b279b79 Binary files /dev/null and b/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..96749d0f26 Binary files /dev/null and b/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..37c80b75b3 Binary files /dev/null and b/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..60fcc04d0d Binary files /dev/null and b/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..d2c5e04e17 Binary files /dev/null and b/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..1582a59548 Binary files /dev/null and b/tests/ast-parsing/compile/push-all.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..a6c6125c17 Binary files /dev/null and b/tests/ast-parsing/compile/push-all.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..4b8c2ebbba Binary files /dev/null and b/tests/ast-parsing/compile/push-all.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..6416b40fcf Binary files /dev/null and b/tests/ast-parsing/compile/return-all.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..80f7e0ea8c Binary files /dev/null and b/tests/ast-parsing/compile/return-all.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..5140c6dcc8 Binary files /dev/null and b/tests/ast-parsing/compile/return-all.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..1370821089 Binary files /dev/null and b/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..c7d44dedc5 Binary files /dev/null and b/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..949a82255a Binary files /dev/null and b/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..cf71c5cec2 Binary files /dev/null and b/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..55eda1a92e Binary files /dev/null and b/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..2d93f3613e Binary files /dev/null and b/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..782b152faa Binary files /dev/null and b/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..69ebe019b5 Binary files /dev/null and b/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..19b0b183a5 Binary files /dev/null and b/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..b52cd422b1 Binary files /dev/null and b/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..7900e8f7cd Binary files /dev/null and b/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..417dd85a6e Binary files /dev/null and b/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..e8e2147cd7 Binary files /dev/null and b/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..73779b9a07 Binary files /dev/null and b/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..39c85beb3a Binary files /dev/null and b/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..9db0ebf8c2 Binary files /dev/null and b/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..8d24a1e665 Binary files /dev/null and b/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..48a253f3d4 Binary files /dev/null and b/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..0070f96c4b Binary files /dev/null and b/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..a30137b087 Binary files /dev/null and b/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..26353193d3 Binary files /dev/null and b/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..8a141b5fd5 Binary files /dev/null and b/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..7048a6264d Binary files /dev/null and b/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..81f8f6716b Binary files /dev/null and b/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..12d6382aad Binary files /dev/null and b/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..40233c756d Binary files /dev/null and b/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..586bd97a8a Binary files /dev/null and b/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..d0f3c1b4c3 Binary files /dev/null and b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..8b16ed85a9 Binary files /dev/null and b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..3950995d1e Binary files /dev/null and b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..0b2a0f6ec6 Binary files /dev/null and b/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..3de8575060 Binary files /dev/null and b/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..fb45451072 Binary files /dev/null and b/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..08f57c70ff Binary files /dev/null and b/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..e9876b8399 Binary files /dev/null and b/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..2dafaf6435 Binary files /dev/null and b/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..56c527b01b Binary files /dev/null and b/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..8b4ca708ad Binary files /dev/null and b/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..00fa5b640c Binary files /dev/null and b/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..94a3448cfb Binary files /dev/null and b/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..8286203cee Binary files /dev/null and b/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..4259f0ebef Binary files /dev/null and b/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..dd3068c7f9 Binary files /dev/null and b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..22e37251d5 Binary files /dev/null and b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..f6aeaaba72 Binary files /dev/null and b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..87e778600d Binary files /dev/null and b/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..28d5245709 Binary files /dev/null and b/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..d3db72a587 Binary files /dev/null and b/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..c6aa3e7c06 Binary files /dev/null and b/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..298087feab Binary files /dev/null and b/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..0907990676 Binary files /dev/null and b/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..7e2899ab10 Binary files /dev/null and b/tests/ast-parsing/compile/while-all.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..6c038e5bf5 Binary files /dev/null and b/tests/ast-parsing/compile/while-all.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..f086f8bc8f Binary files /dev/null and b/tests/ast-parsing/compile/while-all.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.13-compact.zip new file mode 100644 index 0000000000..783d4e0ef2 Binary files /dev/null and b/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.13-compact.zip differ diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.14-compact.zip new file mode 100644 index 0000000000..a368806359 Binary files /dev/null and b/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.14-compact.zip differ diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.15-compact.zip new file mode 100644 index 0000000000..cb145b39d1 Binary files /dev/null and b/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.15-compact.zip differ diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.13-compact.json b/tests/ast-parsing/expected/assembly-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..d0a1cb33e3 --- /dev/null +++ b/tests/ast-parsing/expected/assembly-all.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.14-compact.json b/tests/ast-parsing/expected/assembly-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..d0a1cb33e3 --- /dev/null +++ b/tests/ast-parsing/expected/assembly-all.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.15-compact.json b/tests/ast-parsing/expected/assembly-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..d0a1cb33e3 --- /dev/null +++ b/tests/ast-parsing/expected/assembly-all.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.13-compact.json b/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.13-compact.json new file mode 100644 index 0000000000..8f9f9857b0 --- /dev/null +++ b/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.14-compact.json b/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.14-compact.json new file mode 100644 index 0000000000..8f9f9857b0 --- /dev/null +++ b/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.15-compact.json b/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.15-compact.json new file mode 100644 index 0000000000..8f9f9857b0 --- /dev/null +++ b/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.13-compact.json b/tests/ast-parsing/expected/break-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..b9b7fc93ef --- /dev/null +++ b/tests/ast-parsing/expected/break-all.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n3->13;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: BREAK 7\n\"];\n7->3;\n8[label=\"Node Type: END_IF 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->5;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->14;\n12[label=\"Node Type: END_LOOP 12\n\"];\n13[label=\"Node Type: NEW VARIABLE 13\n\"];\n13->11;\n14[label=\"Node Type: IF_LOOP 14\n\"];\n14->17[label=\"True\"];\n14->12[label=\"False\"];\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->18;\n16[label=\"Node Type: END_LOOP 16\n\"];\n16->24;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->15;\n18[label=\"Node Type: IF_LOOP 18\n\"];\n18->19[label=\"True\"];\n18->16[label=\"False\"];\n19[label=\"Node Type: IF 19\n\"];\n19->20[label=\"True\"];\n19->21[label=\"False\"];\n20[label=\"Node Type: BREAK 20\n\"];\n20->16;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->18;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->14;\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.14-compact.json b/tests/ast-parsing/expected/break-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..b9b7fc93ef --- /dev/null +++ b/tests/ast-parsing/expected/break-all.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n3->13;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: BREAK 7\n\"];\n7->3;\n8[label=\"Node Type: END_IF 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->5;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->14;\n12[label=\"Node Type: END_LOOP 12\n\"];\n13[label=\"Node Type: NEW VARIABLE 13\n\"];\n13->11;\n14[label=\"Node Type: IF_LOOP 14\n\"];\n14->17[label=\"True\"];\n14->12[label=\"False\"];\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->18;\n16[label=\"Node Type: END_LOOP 16\n\"];\n16->24;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->15;\n18[label=\"Node Type: IF_LOOP 18\n\"];\n18->19[label=\"True\"];\n18->16[label=\"False\"];\n19[label=\"Node Type: IF 19\n\"];\n19->20[label=\"True\"];\n19->21[label=\"False\"];\n20[label=\"Node Type: BREAK 20\n\"];\n20->16;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->18;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->14;\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.15-compact.json b/tests/ast-parsing/expected/break-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..b9b7fc93ef --- /dev/null +++ b/tests/ast-parsing/expected/break-all.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n3->13;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: BREAK 7\n\"];\n7->3;\n8[label=\"Node Type: END_IF 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->5;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->14;\n12[label=\"Node Type: END_LOOP 12\n\"];\n13[label=\"Node Type: NEW VARIABLE 13\n\"];\n13->11;\n14[label=\"Node Type: IF_LOOP 14\n\"];\n14->17[label=\"True\"];\n14->12[label=\"False\"];\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->18;\n16[label=\"Node Type: END_LOOP 16\n\"];\n16->24;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->15;\n18[label=\"Node Type: IF_LOOP 18\n\"];\n18->19[label=\"True\"];\n18->16[label=\"False\"];\n19[label=\"Node Type: IF 19\n\"];\n19->20[label=\"True\"];\n19->21[label=\"False\"];\n20[label=\"Node Type: BREAK 20\n\"];\n20->16;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->18;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->14;\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.13-compact.json b/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..113bb5a149 --- /dev/null +++ b/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.13-compact.json @@ -0,0 +1,6 @@ +{ + "C": {}, + "D": { + "f(C)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.14-compact.json b/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..113bb5a149 --- /dev/null +++ b/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.14-compact.json @@ -0,0 +1,6 @@ +{ + "C": {}, + "D": { + "f(C)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.15-compact.json b/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..113bb5a149 --- /dev/null +++ b/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.15-compact.json @@ -0,0 +1,6 @@ +{ + "C": {}, + "D": { + "f(C)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.13-compact.json b/tests/ast-parsing/expected/comment-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..a53745acd0 --- /dev/null +++ b/tests/ast-parsing/expected/comment-all.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "A": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.14-compact.json b/tests/ast-parsing/expected/comment-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..a53745acd0 --- /dev/null +++ b/tests/ast-parsing/expected/comment-all.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "A": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.15-compact.json b/tests/ast-parsing/expected/comment-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..a53745acd0 --- /dev/null +++ b/tests/ast-parsing/expected/comment-all.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "A": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.13-compact.json b/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.13-compact.json new file mode 100644 index 0000000000..6710349b19 --- /dev/null +++ b/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.13-compact.json @@ -0,0 +1,7 @@ +{ + "Test": {}, + "Lib": {}, + "C": { + "f(St)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.14-compact.json b/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.14-compact.json new file mode 100644 index 0000000000..6710349b19 --- /dev/null +++ b/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.14-compact.json @@ -0,0 +1,7 @@ +{ + "Test": {}, + "Lib": {}, + "C": { + "f(St)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.15-compact.json b/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.15-compact.json new file mode 100644 index 0000000000..6710349b19 --- /dev/null +++ b/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.15-compact.json @@ -0,0 +1,7 @@ +{ + "Test": {}, + "Lib": {}, + "C": { + "f(St)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/conditional-all.sol-0.8.13-compact.json b/tests/ast-parsing/expected/conditional-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..6ef3d40e78 --- /dev/null +++ b/tests/ast-parsing/expected/conditional-all.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/conditional-all.sol-0.8.14-compact.json b/tests/ast-parsing/expected/conditional-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..6ef3d40e78 --- /dev/null +++ b/tests/ast-parsing/expected/conditional-all.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/conditional-all.sol-0.8.15-compact.json b/tests/ast-parsing/expected/conditional-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..6ef3d40e78 --- /dev/null +++ b/tests/ast-parsing/expected/conditional-all.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.13-compact.json b/tests/ast-parsing/expected/continue-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..bba15d9bde --- /dev/null +++ b/tests/ast-parsing/expected/continue-all.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n3->13;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: CONTINUE 7\n\"];\n7->2;\n8[label=\"Node Type: END_IF 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->5;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->14;\n12[label=\"Node Type: END_LOOP 12\n\"];\n13[label=\"Node Type: NEW VARIABLE 13\n\"];\n13->11;\n14[label=\"Node Type: IF_LOOP 14\n\"];\n14->17[label=\"True\"];\n14->12[label=\"False\"];\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->18;\n16[label=\"Node Type: END_LOOP 16\n\"];\n16->24;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->15;\n18[label=\"Node Type: IF_LOOP 18\n\"];\n18->19[label=\"True\"];\n18->16[label=\"False\"];\n19[label=\"Node Type: IF 19\n\"];\n19->20[label=\"True\"];\n19->21[label=\"False\"];\n20[label=\"Node Type: CONTINUE 20\n\"];\n20->15;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->18;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->14;\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.14-compact.json b/tests/ast-parsing/expected/continue-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..bba15d9bde --- /dev/null +++ b/tests/ast-parsing/expected/continue-all.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n3->13;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: CONTINUE 7\n\"];\n7->2;\n8[label=\"Node Type: END_IF 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->5;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->14;\n12[label=\"Node Type: END_LOOP 12\n\"];\n13[label=\"Node Type: NEW VARIABLE 13\n\"];\n13->11;\n14[label=\"Node Type: IF_LOOP 14\n\"];\n14->17[label=\"True\"];\n14->12[label=\"False\"];\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->18;\n16[label=\"Node Type: END_LOOP 16\n\"];\n16->24;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->15;\n18[label=\"Node Type: IF_LOOP 18\n\"];\n18->19[label=\"True\"];\n18->16[label=\"False\"];\n19[label=\"Node Type: IF 19\n\"];\n19->20[label=\"True\"];\n19->21[label=\"False\"];\n20[label=\"Node Type: CONTINUE 20\n\"];\n20->15;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->18;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->14;\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.15-compact.json b/tests/ast-parsing/expected/continue-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..bba15d9bde --- /dev/null +++ b/tests/ast-parsing/expected/continue-all.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n3->13;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: CONTINUE 7\n\"];\n7->2;\n8[label=\"Node Type: END_IF 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->5;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->14;\n12[label=\"Node Type: END_LOOP 12\n\"];\n13[label=\"Node Type: NEW VARIABLE 13\n\"];\n13->11;\n14[label=\"Node Type: IF_LOOP 14\n\"];\n14->17[label=\"True\"];\n14->12[label=\"False\"];\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->18;\n16[label=\"Node Type: END_LOOP 16\n\"];\n16->24;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->15;\n18[label=\"Node Type: IF_LOOP 18\n\"];\n18->19[label=\"True\"];\n18->16[label=\"False\"];\n19[label=\"Node Type: IF 19\n\"];\n19->20[label=\"True\"];\n19->21[label=\"False\"];\n20[label=\"Node Type: CONTINUE 20\n\"];\n20->15;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->18;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->14;\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..1df28fb3d8 --- /dev/null +++ b/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.13-compact.json @@ -0,0 +1,19 @@ +{ + "A": {}, + "B": { + "constructor(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C": { + "constructor(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "D": { + "constructor(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + }, + "E": { + "constructor(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "F": {}, + "G": {}, + "H": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..1df28fb3d8 --- /dev/null +++ b/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.14-compact.json @@ -0,0 +1,19 @@ +{ + "A": {}, + "B": { + "constructor(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C": { + "constructor(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "D": { + "constructor(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + }, + "E": { + "constructor(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "F": {}, + "G": {}, + "H": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..1df28fb3d8 --- /dev/null +++ b/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.15-compact.json @@ -0,0 +1,19 @@ +{ + "A": {}, + "B": { + "constructor(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C": { + "constructor(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "D": { + "constructor(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + }, + "E": { + "constructor(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "F": {}, + "G": {}, + "H": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.13-compact.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.14-compact.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.15-compact.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.13-compact.json b/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.13-compact.json new file mode 100644 index 0000000000..1cf3175751 --- /dev/null +++ b/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->4;\n3[label=\"Node Type: IF_LOOP 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->3;\n5[label=\"Node Type: END_LOOP 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: BEGIN_LOOP 7\n\"];\n7->9;\n8[label=\"Node Type: IF_LOOP 8\n\"];\n8->9[label=\"True\"];\n8->10[label=\"False\"];\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->8;\n10[label=\"Node Type: END_LOOP 10\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.14-compact.json b/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.14-compact.json new file mode 100644 index 0000000000..1cf3175751 --- /dev/null +++ b/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->4;\n3[label=\"Node Type: IF_LOOP 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->3;\n5[label=\"Node Type: END_LOOP 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: BEGIN_LOOP 7\n\"];\n7->9;\n8[label=\"Node Type: IF_LOOP 8\n\"];\n8->9[label=\"True\"];\n8->10[label=\"False\"];\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->8;\n10[label=\"Node Type: END_LOOP 10\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.15-compact.json b/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.15-compact.json new file mode 100644 index 0000000000..1cf3175751 --- /dev/null +++ b/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->4;\n3[label=\"Node Type: IF_LOOP 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->3;\n5[label=\"Node Type: END_LOOP 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: BEGIN_LOOP 7\n\"];\n7->9;\n8[label=\"Node Type: IF_LOOP 8\n\"];\n8->9[label=\"True\"];\n8->10[label=\"False\"];\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->8;\n10[label=\"Node Type: END_LOOP 10\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..b043ced391 --- /dev/null +++ b/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "emitWithKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..b043ced391 --- /dev/null +++ b/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "emitWithKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..b043ced391 --- /dev/null +++ b/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "emitWithKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..0008a44692 --- /dev/null +++ b/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.13-compact.json @@ -0,0 +1,3 @@ +{ + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..0008a44692 --- /dev/null +++ b/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.14-compact.json @@ -0,0 +1,3 @@ +{ + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..0008a44692 --- /dev/null +++ b/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.15-compact.json @@ -0,0 +1,3 @@ +{ + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.13-compact.json b/tests/ast-parsing/expected/event-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..0008a44692 --- /dev/null +++ b/tests/ast-parsing/expected/event-all.sol-0.8.13-compact.json @@ -0,0 +1,3 @@ +{ + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.14-compact.json b/tests/ast-parsing/expected/event-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..0008a44692 --- /dev/null +++ b/tests/ast-parsing/expected/event-all.sol-0.8.14-compact.json @@ -0,0 +1,3 @@ +{ + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.15-compact.json b/tests/ast-parsing/expected/event-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..0008a44692 --- /dev/null +++ b/tests/ast-parsing/expected/event-all.sol-0.8.15-compact.json @@ -0,0 +1,3 @@ +{ + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.13-compact.json b/tests/ast-parsing/expected/for-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..fe24348d83 --- /dev/null +++ b/tests/ast-parsing/expected/for-all.sol-0.8.13-compact.json @@ -0,0 +1,15 @@ +{ + "C": { + "normalLoopBlockBody()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n", + "normalLoopExprBody()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n", + "normalLoopNoBody()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->5;\n}\n", + "loopNoPre()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: BEGIN_LOOP 3\n\"];\n3->5;\n4[label=\"Node Type: END_LOOP 4\n\"];\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->4[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n", + "loopNoCond()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF 5\n\"];\n5->6[label=\"True\"];\n5->7[label=\"False\"];\n6[label=\"Node Type: BREAK 6\n\"];\n6->3;\n7[label=\"Node Type: END_IF 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->2;\n}\n", + "loopNoPost()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n", + "loopNoPreCond()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: BEGIN_LOOP 3\n\"];\n3->5;\n4[label=\"Node Type: END_LOOP 4\n\"];\n5[label=\"Node Type: IF 5\n\"];\n5->6[label=\"True\"];\n5->7[label=\"False\"];\n6[label=\"Node Type: BREAK 6\n\"];\n6->4;\n7[label=\"Node Type: END_IF 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->3;\n}\n", + "loopNoPrePost()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: BEGIN_LOOP 3\n\"];\n3->5;\n4[label=\"Node Type: END_LOOP 4\n\"];\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->4[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n", + "loopNoCondPost()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF 5\n\"];\n5->6[label=\"True\"];\n5->7[label=\"False\"];\n6[label=\"Node Type: BREAK 6\n\"];\n6->3;\n7[label=\"Node Type: END_IF 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->2;\n}\n", + "loopNoPreCondPost()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: BEGIN_LOOP 3\n\"];\n3->5;\n4[label=\"Node Type: END_LOOP 4\n\"];\n5[label=\"Node Type: IF 5\n\"];\n5->6[label=\"True\"];\n5->7[label=\"False\"];\n6[label=\"Node Type: BREAK 6\n\"];\n6->4;\n7[label=\"Node Type: END_IF 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->3;\n}\n", + "loopNoPreCondPostBody()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: BEGIN_LOOP 1\n\"];\n1->1;\n1->2;\n2[label=\"Node Type: END_LOOP 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.14-compact.json b/tests/ast-parsing/expected/for-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..fe24348d83 --- /dev/null +++ b/tests/ast-parsing/expected/for-all.sol-0.8.14-compact.json @@ -0,0 +1,15 @@ +{ + "C": { + "normalLoopBlockBody()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n", + "normalLoopExprBody()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n", + "normalLoopNoBody()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->5;\n}\n", + "loopNoPre()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: BEGIN_LOOP 3\n\"];\n3->5;\n4[label=\"Node Type: END_LOOP 4\n\"];\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->4[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n", + "loopNoCond()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF 5\n\"];\n5->6[label=\"True\"];\n5->7[label=\"False\"];\n6[label=\"Node Type: BREAK 6\n\"];\n6->3;\n7[label=\"Node Type: END_IF 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->2;\n}\n", + "loopNoPost()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n", + "loopNoPreCond()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: BEGIN_LOOP 3\n\"];\n3->5;\n4[label=\"Node Type: END_LOOP 4\n\"];\n5[label=\"Node Type: IF 5\n\"];\n5->6[label=\"True\"];\n5->7[label=\"False\"];\n6[label=\"Node Type: BREAK 6\n\"];\n6->4;\n7[label=\"Node Type: END_IF 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->3;\n}\n", + "loopNoPrePost()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: BEGIN_LOOP 3\n\"];\n3->5;\n4[label=\"Node Type: END_LOOP 4\n\"];\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->4[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n", + "loopNoCondPost()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF 5\n\"];\n5->6[label=\"True\"];\n5->7[label=\"False\"];\n6[label=\"Node Type: BREAK 6\n\"];\n6->3;\n7[label=\"Node Type: END_IF 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->2;\n}\n", + "loopNoPreCondPost()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: BEGIN_LOOP 3\n\"];\n3->5;\n4[label=\"Node Type: END_LOOP 4\n\"];\n5[label=\"Node Type: IF 5\n\"];\n5->6[label=\"True\"];\n5->7[label=\"False\"];\n6[label=\"Node Type: BREAK 6\n\"];\n6->4;\n7[label=\"Node Type: END_IF 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->3;\n}\n", + "loopNoPreCondPostBody()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: BEGIN_LOOP 1\n\"];\n1->1;\n1->2;\n2[label=\"Node Type: END_LOOP 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.15-compact.json b/tests/ast-parsing/expected/for-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..fe24348d83 --- /dev/null +++ b/tests/ast-parsing/expected/for-all.sol-0.8.15-compact.json @@ -0,0 +1,15 @@ +{ + "C": { + "normalLoopBlockBody()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n", + "normalLoopExprBody()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n", + "normalLoopNoBody()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->5;\n}\n", + "loopNoPre()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: BEGIN_LOOP 3\n\"];\n3->5;\n4[label=\"Node Type: END_LOOP 4\n\"];\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->4[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n", + "loopNoCond()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF 5\n\"];\n5->6[label=\"True\"];\n5->7[label=\"False\"];\n6[label=\"Node Type: BREAK 6\n\"];\n6->3;\n7[label=\"Node Type: END_IF 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->2;\n}\n", + "loopNoPost()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n", + "loopNoPreCond()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: BEGIN_LOOP 3\n\"];\n3->5;\n4[label=\"Node Type: END_LOOP 4\n\"];\n5[label=\"Node Type: IF 5\n\"];\n5->6[label=\"True\"];\n5->7[label=\"False\"];\n6[label=\"Node Type: BREAK 6\n\"];\n6->4;\n7[label=\"Node Type: END_IF 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->3;\n}\n", + "loopNoPrePost()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: BEGIN_LOOP 3\n\"];\n3->5;\n4[label=\"Node Type: END_LOOP 4\n\"];\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->4[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n", + "loopNoCondPost()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF 5\n\"];\n5->6[label=\"True\"];\n5->7[label=\"False\"];\n6[label=\"Node Type: BREAK 6\n\"];\n6->3;\n7[label=\"Node Type: END_IF 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->2;\n}\n", + "loopNoPreCondPost()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: BEGIN_LOOP 3\n\"];\n3->5;\n4[label=\"Node Type: END_LOOP 4\n\"];\n5[label=\"Node Type: IF 5\n\"];\n5->6[label=\"True\"];\n5->7[label=\"False\"];\n6[label=\"Node Type: BREAK 6\n\"];\n6->4;\n7[label=\"Node Type: END_IF 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->3;\n}\n", + "loopNoPreCondPostBody()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: BEGIN_LOOP 1\n\"];\n1->1;\n1->2;\n2[label=\"Node Type: END_LOOP 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.13-compact.json b/tests/ast-parsing/expected/function-0.7.1.sol-0.8.13-compact.json new file mode 100644 index 0000000000..50465d36d1 --- /dev/null +++ b/tests/ast-parsing/expected/function-0.7.1.sol-0.8.13-compact.json @@ -0,0 +1,52 @@ +{ + "C1": { + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "fallback()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "receive()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C2": { + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "fallback()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "receive()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C3": { + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "modifierNoArgs()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n}\n", + "modifierWithArgs(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n}\n" + }, + "C4": { + "hasArgs(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "hasReturns()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "hasArgsAndReturns(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C5": { + "payableFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "externalFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "publicFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "internalFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "privateFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "pureFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "viewFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "abstractFunc()": "digraph{\n}\n" + }, + "C6": { + "abstractFunc()": "digraph{\n}\n", + "abstractFunc2()": "digraph{\n}\n" + }, + "C7": { + "abstractFunc3()": "digraph{\n}\n" + }, + "C8": { + "abstractFunc3()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "abstractFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "abstractFunc2()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "payableFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "externalFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "publicFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "internalFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "privateFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "pureFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "viewFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.14-compact.json b/tests/ast-parsing/expected/function-0.7.1.sol-0.8.14-compact.json new file mode 100644 index 0000000000..50465d36d1 --- /dev/null +++ b/tests/ast-parsing/expected/function-0.7.1.sol-0.8.14-compact.json @@ -0,0 +1,52 @@ +{ + "C1": { + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "fallback()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "receive()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C2": { + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "fallback()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "receive()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C3": { + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "modifierNoArgs()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n}\n", + "modifierWithArgs(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n}\n" + }, + "C4": { + "hasArgs(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "hasReturns()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "hasArgsAndReturns(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C5": { + "payableFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "externalFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "publicFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "internalFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "privateFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "pureFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "viewFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "abstractFunc()": "digraph{\n}\n" + }, + "C6": { + "abstractFunc()": "digraph{\n}\n", + "abstractFunc2()": "digraph{\n}\n" + }, + "C7": { + "abstractFunc3()": "digraph{\n}\n" + }, + "C8": { + "abstractFunc3()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "abstractFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "abstractFunc2()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "payableFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "externalFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "publicFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "internalFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "privateFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "pureFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "viewFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.15-compact.json b/tests/ast-parsing/expected/function-0.7.1.sol-0.8.15-compact.json new file mode 100644 index 0000000000..50465d36d1 --- /dev/null +++ b/tests/ast-parsing/expected/function-0.7.1.sol-0.8.15-compact.json @@ -0,0 +1,52 @@ +{ + "C1": { + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "fallback()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "receive()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C2": { + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "fallback()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "receive()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C3": { + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "modifierNoArgs()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n}\n", + "modifierWithArgs(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n}\n" + }, + "C4": { + "hasArgs(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "hasReturns()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "hasArgsAndReturns(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C5": { + "payableFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "externalFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "publicFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "internalFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "privateFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "pureFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "viewFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "abstractFunc()": "digraph{\n}\n" + }, + "C6": { + "abstractFunc()": "digraph{\n}\n", + "abstractFunc2()": "digraph{\n}\n" + }, + "C7": { + "abstractFunc3()": "digraph{\n}\n" + }, + "C8": { + "abstractFunc3()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "abstractFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "abstractFunc2()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "payableFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "externalFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "publicFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "internalFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "privateFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "pureFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "viewFunc()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..f266b62b1d --- /dev/null +++ b/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.13-compact.json @@ -0,0 +1,10 @@ +{ + "I": { + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n}\n", + "publicTarget()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "internalTarget(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..f266b62b1d --- /dev/null +++ b/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.14-compact.json @@ -0,0 +1,10 @@ +{ + "I": { + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n}\n", + "publicTarget()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "internalTarget(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..f266b62b1d --- /dev/null +++ b/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.15-compact.json @@ -0,0 +1,10 @@ +{ + "I": { + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n}\n", + "publicTarget()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "internalTarget(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.13-compact.json b/tests/ast-parsing/expected/if-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..c0c884b4e6 --- /dev/null +++ b/tests/ast-parsing/expected/if-all.sol-0.8.13-compact.json @@ -0,0 +1,8 @@ +{ + "C": { + "ifWithoutElse()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: IF 1\n\"];\n1->2[label=\"True\"];\n1->3[label=\"False\"];\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END_IF 3\n\"];\n}\n", + "ifWithElse()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: IF 1\n\"];\n1->2[label=\"True\"];\n1->3[label=\"False\"];\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->4;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: END_IF 4\n\"];\n}\n", + "ifWithElseIf()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: IF 1\n\"];\n1->2[label=\"True\"];\n1->3[label=\"False\"];\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->9;\n3[label=\"Node Type: IF 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->8;\n5[label=\"Node Type: IF 5\n\"];\n5->6[label=\"True\"];\n5->7[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: END_IF 7\n\"];\n7->8;\n8[label=\"Node Type: END_IF 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n}\n", + "ifWithElseIfElse()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: IF 1\n\"];\n1->2[label=\"True\"];\n1->3[label=\"False\"];\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->7;\n3[label=\"Node Type: IF 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->6;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: END_IF 6\n\"];\n6->7;\n7[label=\"Node Type: END_IF 7\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.14-compact.json b/tests/ast-parsing/expected/if-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..c0c884b4e6 --- /dev/null +++ b/tests/ast-parsing/expected/if-all.sol-0.8.14-compact.json @@ -0,0 +1,8 @@ +{ + "C": { + "ifWithoutElse()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: IF 1\n\"];\n1->2[label=\"True\"];\n1->3[label=\"False\"];\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END_IF 3\n\"];\n}\n", + "ifWithElse()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: IF 1\n\"];\n1->2[label=\"True\"];\n1->3[label=\"False\"];\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->4;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: END_IF 4\n\"];\n}\n", + "ifWithElseIf()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: IF 1\n\"];\n1->2[label=\"True\"];\n1->3[label=\"False\"];\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->9;\n3[label=\"Node Type: IF 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->8;\n5[label=\"Node Type: IF 5\n\"];\n5->6[label=\"True\"];\n5->7[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: END_IF 7\n\"];\n7->8;\n8[label=\"Node Type: END_IF 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n}\n", + "ifWithElseIfElse()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: IF 1\n\"];\n1->2[label=\"True\"];\n1->3[label=\"False\"];\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->7;\n3[label=\"Node Type: IF 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->6;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: END_IF 6\n\"];\n6->7;\n7[label=\"Node Type: END_IF 7\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.15-compact.json b/tests/ast-parsing/expected/if-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..c0c884b4e6 --- /dev/null +++ b/tests/ast-parsing/expected/if-all.sol-0.8.15-compact.json @@ -0,0 +1,8 @@ +{ + "C": { + "ifWithoutElse()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: IF 1\n\"];\n1->2[label=\"True\"];\n1->3[label=\"False\"];\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END_IF 3\n\"];\n}\n", + "ifWithElse()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: IF 1\n\"];\n1->2[label=\"True\"];\n1->3[label=\"False\"];\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->4;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: END_IF 4\n\"];\n}\n", + "ifWithElseIf()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: IF 1\n\"];\n1->2[label=\"True\"];\n1->3[label=\"False\"];\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->9;\n3[label=\"Node Type: IF 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->8;\n5[label=\"Node Type: IF 5\n\"];\n5->6[label=\"True\"];\n5->7[label=\"False\"];\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: END_IF 7\n\"];\n7->8;\n8[label=\"Node Type: END_IF 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n}\n", + "ifWithElseIfElse()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: IF 1\n\"];\n1->2[label=\"True\"];\n1->3[label=\"False\"];\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->7;\n3[label=\"Node Type: IF 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->6;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: END_IF 6\n\"];\n6->7;\n7[label=\"Node Type: END_IF 7\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.json b/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.json new file mode 100644 index 0000000000..355945be76 --- /dev/null +++ b/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.json @@ -0,0 +1,3 @@ +{ + "I": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.json b/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.json new file mode 100644 index 0000000000..355945be76 --- /dev/null +++ b/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.json @@ -0,0 +1,3 @@ +{ + "I": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.json b/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.json new file mode 100644 index 0000000000..355945be76 --- /dev/null +++ b/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.json @@ -0,0 +1,3 @@ +{ + "I": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.13-compact.json b/tests/ast-parsing/expected/indexaccess-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..43190fcd6c --- /dev/null +++ b/tests/ast-parsing/expected/indexaccess-all.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.14-compact.json b/tests/ast-parsing/expected/indexaccess-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..43190fcd6c --- /dev/null +++ b/tests/ast-parsing/expected/indexaccess-all.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.15-compact.json b/tests/ast-parsing/expected/indexaccess-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..43190fcd6c --- /dev/null +++ b/tests/ast-parsing/expected/indexaccess-all.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.13-compact.json b/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.13-compact.json new file mode 100644 index 0000000000..f4529bc868 --- /dev/null +++ b/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.14-compact.json b/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.14-compact.json new file mode 100644 index 0000000000..f4529bc868 --- /dev/null +++ b/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.15-compact.json b/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.15-compact.json new file mode 100644 index 0000000000..f4529bc868 --- /dev/null +++ b/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..81b56547c5 --- /dev/null +++ b/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.13-compact.json @@ -0,0 +1,23 @@ +{ + "LibByte": { + "t(uint256,bytes1)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "t(uint256,bytes32)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "TestByte": { + "test()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: RETURN 2\n\"];\n}\n" + }, + "LibUint": { + "t(uint256,uint8)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "t(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "TestUint": { + "test()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: RETURN 2\n\"];\n}\n" + }, + "LibInt": { + "t(uint256,int8)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "t(uint256,int256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "TestUintWithVariableiAndConversion": { + "test()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: RETURN 3\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..81b56547c5 --- /dev/null +++ b/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.14-compact.json @@ -0,0 +1,23 @@ +{ + "LibByte": { + "t(uint256,bytes1)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "t(uint256,bytes32)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "TestByte": { + "test()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: RETURN 2\n\"];\n}\n" + }, + "LibUint": { + "t(uint256,uint8)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "t(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "TestUint": { + "test()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: RETURN 2\n\"];\n}\n" + }, + "LibInt": { + "t(uint256,int8)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "t(uint256,int256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "TestUintWithVariableiAndConversion": { + "test()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: RETURN 3\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..81b56547c5 --- /dev/null +++ b/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.15-compact.json @@ -0,0 +1,23 @@ +{ + "LibByte": { + "t(uint256,bytes1)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "t(uint256,bytes32)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "TestByte": { + "test()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: RETURN 2\n\"];\n}\n" + }, + "LibUint": { + "t(uint256,uint8)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "t(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "TestUint": { + "test()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: RETURN 2\n\"];\n}\n" + }, + "LibInt": { + "t(uint256,int8)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "t(uint256,int256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "TestUintWithVariableiAndConversion": { + "test()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: RETURN 3\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.13-compact.json b/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.13-compact.json new file mode 100644 index 0000000000..cc7fbbb8c2 --- /dev/null +++ b/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.13-compact.json @@ -0,0 +1,6 @@ +{ + "I": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.14-compact.json b/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.14-compact.json new file mode 100644 index 0000000000..cc7fbbb8c2 --- /dev/null +++ b/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.14-compact.json @@ -0,0 +1,6 @@ +{ + "I": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.15-compact.json b/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.15-compact.json new file mode 100644 index 0000000000..cc7fbbb8c2 --- /dev/null +++ b/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.15-compact.json @@ -0,0 +1,6 @@ +{ + "I": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.13-compact.json b/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.13-compact.json new file mode 100644 index 0000000000..228af371a7 --- /dev/null +++ b/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.14-compact.json b/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.14-compact.json new file mode 100644 index 0000000000..228af371a7 --- /dev/null +++ b/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.15-compact.json b/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.15-compact.json new file mode 100644 index 0000000000..228af371a7 --- /dev/null +++ b/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.13-compact.json b/tests/ast-parsing/expected/modifier-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..34aad8ef18 --- /dev/null +++ b/tests/ast-parsing/expected/modifier-all.sol-0.8.13-compact.json @@ -0,0 +1,8 @@ +{ + "C": { + "onePlaceholder()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n}\n", + "multiplePlaceholders()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n2->3;\n3[label=\"Node Type: _ 3\n\"];\n}\n", + "acceptsVar(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n}\n", + "noParams()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.14-compact.json b/tests/ast-parsing/expected/modifier-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..34aad8ef18 --- /dev/null +++ b/tests/ast-parsing/expected/modifier-all.sol-0.8.14-compact.json @@ -0,0 +1,8 @@ +{ + "C": { + "onePlaceholder()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n}\n", + "multiplePlaceholders()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n2->3;\n3[label=\"Node Type: _ 3\n\"];\n}\n", + "acceptsVar(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n}\n", + "noParams()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.15-compact.json b/tests/ast-parsing/expected/modifier-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..34aad8ef18 --- /dev/null +++ b/tests/ast-parsing/expected/modifier-all.sol-0.8.15-compact.json @@ -0,0 +1,8 @@ +{ + "C": { + "onePlaceholder()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n}\n", + "multiplePlaceholders()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n2->3;\n3[label=\"Node Type: _ 3\n\"];\n}\n", + "acceptsVar(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n}\n", + "noParams()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: _ 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..e46dafe75f --- /dev/null +++ b/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.13-compact.json @@ -0,0 +1,8 @@ +{ + "B": { + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..e46dafe75f --- /dev/null +++ b/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.14-compact.json @@ -0,0 +1,8 @@ +{ + "B": { + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..e46dafe75f --- /dev/null +++ b/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.15-compact.json @@ -0,0 +1,8 @@ +{ + "B": { + "constructor()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..0008a44692 --- /dev/null +++ b/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.13-compact.json @@ -0,0 +1,3 @@ +{ + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..0008a44692 --- /dev/null +++ b/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.14-compact.json @@ -0,0 +1,3 @@ +{ + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..0008a44692 --- /dev/null +++ b/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.15-compact.json @@ -0,0 +1,3 @@ +{ + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.13-compact.json b/tests/ast-parsing/expected/push-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..a1a35e654b --- /dev/null +++ b/tests/ast-parsing/expected/push-all.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.14-compact.json b/tests/ast-parsing/expected/push-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..a1a35e654b --- /dev/null +++ b/tests/ast-parsing/expected/push-all.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.15-compact.json b/tests/ast-parsing/expected/push-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..a1a35e654b --- /dev/null +++ b/tests/ast-parsing/expected/push-all.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.13-compact.json b/tests/ast-parsing/expected/return-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..7eddd38f6f --- /dev/null +++ b/tests/ast-parsing/expected/return-all.sol-0.8.13-compact.json @@ -0,0 +1,9 @@ +{ + "C": { + "returnConstant()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "returnVariable()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: RETURN 2\n\"];\n}\n", + "returnTuple()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: RETURN 3\n\"];\n}\n", + "returnTernary()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->3;\n3[label=\"Node Type: IF 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: RETURN 4\n\"];\n5[label=\"Node Type: RETURN 5\n\"];\n}\n", + "returnDelete()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.14-compact.json b/tests/ast-parsing/expected/return-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..7eddd38f6f --- /dev/null +++ b/tests/ast-parsing/expected/return-all.sol-0.8.14-compact.json @@ -0,0 +1,9 @@ +{ + "C": { + "returnConstant()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "returnVariable()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: RETURN 2\n\"];\n}\n", + "returnTuple()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: RETURN 3\n\"];\n}\n", + "returnTernary()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->3;\n3[label=\"Node Type: IF 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: RETURN 4\n\"];\n5[label=\"Node Type: RETURN 5\n\"];\n}\n", + "returnDelete()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.15-compact.json b/tests/ast-parsing/expected/return-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..7eddd38f6f --- /dev/null +++ b/tests/ast-parsing/expected/return-all.sol-0.8.15-compact.json @@ -0,0 +1,9 @@ +{ + "C": { + "returnConstant()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "returnVariable()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: RETURN 2\n\"];\n}\n", + "returnTuple()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: RETURN 3\n\"];\n}\n", + "returnTernary()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->3;\n3[label=\"Node Type: IF 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: RETURN 4\n\"];\n5[label=\"Node Type: RETURN 5\n\"];\n}\n", + "returnDelete()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..00c3dbb1a2 --- /dev/null +++ b/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.13-compact.json @@ -0,0 +1,8 @@ +{ + "Scope": { + "nested_scope()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n}\n", + "if_scope()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: IF 1\n\"];\n1->2[label=\"True\"];\n1->3[label=\"False\"];\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->4;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: END_IF 4\n\"];\n}\n", + "while_scope()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->3;\n3[label=\"Node Type: IF_LOOP 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->3;\n5[label=\"Node Type: END_LOOP 5\n\"];\n}\n", + "for_scope()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..00c3dbb1a2 --- /dev/null +++ b/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.14-compact.json @@ -0,0 +1,8 @@ +{ + "Scope": { + "nested_scope()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n}\n", + "if_scope()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: IF 1\n\"];\n1->2[label=\"True\"];\n1->3[label=\"False\"];\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->4;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: END_IF 4\n\"];\n}\n", + "while_scope()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->3;\n3[label=\"Node Type: IF_LOOP 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->3;\n5[label=\"Node Type: END_LOOP 5\n\"];\n}\n", + "for_scope()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..00c3dbb1a2 --- /dev/null +++ b/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.15-compact.json @@ -0,0 +1,8 @@ +{ + "Scope": { + "nested_scope()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n}\n", + "if_scope()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: IF 1\n\"];\n1->2[label=\"True\"];\n1->3[label=\"False\"];\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->4;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: END_IF 4\n\"];\n}\n", + "while_scope()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->3;\n3[label=\"Node Type: IF_LOOP 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->3;\n5[label=\"Node Type: END_LOOP 5\n\"];\n}\n", + "for_scope()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->4;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->5;\n3[label=\"Node Type: END_LOOP 3\n\"];\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->2;\n5[label=\"Node Type: IF_LOOP 5\n\"];\n5->6[label=\"True\"];\n5->3[label=\"False\"];\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->5;\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..0008a44692 --- /dev/null +++ b/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.13-compact.json @@ -0,0 +1,3 @@ +{ + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..0008a44692 --- /dev/null +++ b/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.14-compact.json @@ -0,0 +1,3 @@ +{ + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..0008a44692 --- /dev/null +++ b/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.15-compact.json @@ -0,0 +1,3 @@ +{ + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..0008a44692 --- /dev/null +++ b/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.13-compact.json @@ -0,0 +1,3 @@ +{ + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..0008a44692 --- /dev/null +++ b/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.14-compact.json @@ -0,0 +1,3 @@ +{ + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..0008a44692 --- /dev/null +++ b/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.15-compact.json @@ -0,0 +1,3 @@ +{ + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.13-compact.json b/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.13-compact.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.13-compact.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.14-compact.json b/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.14-compact.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.14-compact.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.15-compact.json b/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.15-compact.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.15-compact.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.13-compact.json b/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.13-compact.json new file mode 100644 index 0000000000..a1a35e654b --- /dev/null +++ b/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.14-compact.json b/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.14-compact.json new file mode 100644 index 0000000000..a1a35e654b --- /dev/null +++ b/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.15-compact.json b/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.15-compact.json new file mode 100644 index 0000000000..a1a35e654b --- /dev/null +++ b/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.13-compact.json b/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.13-compact.json new file mode 100644 index 0000000000..a1a35e654b --- /dev/null +++ b/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.14-compact.json b/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.14-compact.json new file mode 100644 index 0000000000..a1a35e654b --- /dev/null +++ b/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.15-compact.json b/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.15-compact.json new file mode 100644 index 0000000000..a1a35e654b --- /dev/null +++ b/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.13-compact.json b/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.13-compact.json new file mode 100644 index 0000000000..a1a35e654b --- /dev/null +++ b/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.14-compact.json b/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.14-compact.json new file mode 100644 index 0000000000..a1a35e654b --- /dev/null +++ b/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.15-compact.json b/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.15-compact.json new file mode 100644 index 0000000000..a1a35e654b --- /dev/null +++ b/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..35c7523763 --- /dev/null +++ b/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "T": { + "g()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..35c7523763 --- /dev/null +++ b/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "T": { + "g()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..35c7523763 --- /dev/null +++ b/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "T": { + "g()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..503a5cebd3 --- /dev/null +++ b/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.13-compact.json @@ -0,0 +1,8 @@ +{ + "T": { + "g()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + }, + "T2": { + "h(uint256[10])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..503a5cebd3 --- /dev/null +++ b/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.14-compact.json @@ -0,0 +1,8 @@ +{ + "T": { + "g()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + }, + "T2": { + "h(uint256[10])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..503a5cebd3 --- /dev/null +++ b/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.15-compact.json @@ -0,0 +1,8 @@ +{ + "T": { + "g()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + }, + "T2": { + "h(uint256[10])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..6099f6be4b --- /dev/null +++ b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.13-compact.json @@ -0,0 +1,9 @@ +{ + "ERC20": { + "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "C": { + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..6099f6be4b --- /dev/null +++ b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.14-compact.json @@ -0,0 +1,9 @@ +{ + "ERC20": { + "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "C": { + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..6099f6be4b --- /dev/null +++ b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.15-compact.json @@ -0,0 +1,9 @@ +{ + "ERC20": { + "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "C": { + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.13-compact.json b/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.13-compact.json new file mode 100644 index 0000000000..b5912e6b8e --- /dev/null +++ b/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.14-compact.json b/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.14-compact.json new file mode 100644 index 0000000000..b5912e6b8e --- /dev/null +++ b/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.15-compact.json b/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.15-compact.json new file mode 100644 index 0000000000..b5912e6b8e --- /dev/null +++ b/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..f7fcf92031 --- /dev/null +++ b/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: NEW VARIABLE 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..f7fcf92031 --- /dev/null +++ b/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: NEW VARIABLE 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..f7fcf92031 --- /dev/null +++ b/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: NEW VARIABLE 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..557c3d932d --- /dev/null +++ b/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.13-compact.json @@ -0,0 +1,6 @@ +{ + "C": { + "f(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "g(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..557c3d932d --- /dev/null +++ b/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.14-compact.json @@ -0,0 +1,6 @@ +{ + "C": { + "f(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "g(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..557c3d932d --- /dev/null +++ b/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.15-compact.json @@ -0,0 +1,6 @@ +{ + "C": { + "f(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "g(uint256,uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..74226bae7d --- /dev/null +++ b/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.13-compact.json @@ -0,0 +1,17 @@ +{ + "A": {}, + "I": {}, + "Test": { + "ether_unit()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "time_unit()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n", + "block_and_transactions()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n}\n", + "abi_encode()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: NEW VARIABLE 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n}\n", + "error_handling()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n", + "math_and_crypto()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: NEW VARIABLE 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: NEW VARIABLE 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n}\n", + "address_related()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n}\n", + "return_addr()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "address_edge_case()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n", + "contract_related()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n", + "type_related()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..74226bae7d --- /dev/null +++ b/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.14-compact.json @@ -0,0 +1,17 @@ +{ + "A": {}, + "I": {}, + "Test": { + "ether_unit()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "time_unit()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n", + "block_and_transactions()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n}\n", + "abi_encode()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: NEW VARIABLE 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n}\n", + "error_handling()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n", + "math_and_crypto()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: NEW VARIABLE 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: NEW VARIABLE 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n}\n", + "address_related()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n}\n", + "return_addr()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "address_edge_case()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n", + "contract_related()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n", + "type_related()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..74226bae7d --- /dev/null +++ b/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.15-compact.json @@ -0,0 +1,17 @@ +{ + "A": {}, + "I": {}, + "Test": { + "ether_unit()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "time_unit()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n", + "block_and_transactions()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n}\n", + "abi_encode()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: NEW VARIABLE 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n}\n", + "error_handling()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n", + "math_and_crypto()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: NEW VARIABLE 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: NEW VARIABLE 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n}\n", + "address_related()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n}\n", + "return_addr()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n", + "address_edge_case()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n", + "contract_related()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n", + "type_related()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.13-compact.json b/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.13-compact.json new file mode 100644 index 0000000000..27fa7c3238 --- /dev/null +++ b/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.13-compact.json @@ -0,0 +1,9 @@ +{ + "L1": { + "f(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "L2": { + "f(bytes32)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.14-compact.json b/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.14-compact.json new file mode 100644 index 0000000000..27fa7c3238 --- /dev/null +++ b/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.14-compact.json @@ -0,0 +1,9 @@ +{ + "L1": { + "f(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "L2": { + "f(bytes32)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.15-compact.json b/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.15-compact.json new file mode 100644 index 0000000000..27fa7c3238 --- /dev/null +++ b/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.15-compact.json @@ -0,0 +1,9 @@ +{ + "L1": { + "f(uint256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "L2": { + "f(bytes32)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + }, + "C": {} +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..97689fda11 --- /dev/null +++ b/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "basic()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: NEW VARIABLE 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: NEW VARIABLE 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: NEW VARIABLE 11\n\"];\n11->12;\n12[label=\"Node Type: NEW VARIABLE 12\n\"];\n12->13;\n13[label=\"Node Type: NEW VARIABLE 13\n\"];\n13->14;\n14[label=\"Node Type: NEW VARIABLE 14\n\"];\n14->15;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->16;\n16[label=\"Node Type: NEW VARIABLE 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: NEW VARIABLE 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: NEW VARIABLE 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: NEW VARIABLE 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: NEW VARIABLE 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->26;\n26[label=\"Node Type: NEW VARIABLE 26\n\"];\n26->27;\n27[label=\"Node Type: NEW VARIABLE 27\n\"];\n27->28;\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->29;\n29[label=\"Node Type: NEW VARIABLE 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: NEW VARIABLE 31\n\"];\n31->32;\n32[label=\"Node Type: NEW VARIABLE 32\n\"];\n32->33;\n33[label=\"Node Type: NEW VARIABLE 33\n\"];\n33->34;\n34[label=\"Node Type: NEW VARIABLE 34\n\"];\n34->35;\n35[label=\"Node Type: NEW VARIABLE 35\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..97689fda11 --- /dev/null +++ b/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "basic()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: NEW VARIABLE 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: NEW VARIABLE 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: NEW VARIABLE 11\n\"];\n11->12;\n12[label=\"Node Type: NEW VARIABLE 12\n\"];\n12->13;\n13[label=\"Node Type: NEW VARIABLE 13\n\"];\n13->14;\n14[label=\"Node Type: NEW VARIABLE 14\n\"];\n14->15;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->16;\n16[label=\"Node Type: NEW VARIABLE 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: NEW VARIABLE 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: NEW VARIABLE 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: NEW VARIABLE 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: NEW VARIABLE 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->26;\n26[label=\"Node Type: NEW VARIABLE 26\n\"];\n26->27;\n27[label=\"Node Type: NEW VARIABLE 27\n\"];\n27->28;\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->29;\n29[label=\"Node Type: NEW VARIABLE 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: NEW VARIABLE 31\n\"];\n31->32;\n32[label=\"Node Type: NEW VARIABLE 32\n\"];\n32->33;\n33[label=\"Node Type: NEW VARIABLE 33\n\"];\n33->34;\n34[label=\"Node Type: NEW VARIABLE 34\n\"];\n34->35;\n35[label=\"Node Type: NEW VARIABLE 35\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..97689fda11 --- /dev/null +++ b/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "basic()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: NEW VARIABLE 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: NEW VARIABLE 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: NEW VARIABLE 11\n\"];\n11->12;\n12[label=\"Node Type: NEW VARIABLE 12\n\"];\n12->13;\n13[label=\"Node Type: NEW VARIABLE 13\n\"];\n13->14;\n14[label=\"Node Type: NEW VARIABLE 14\n\"];\n14->15;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->16;\n16[label=\"Node Type: NEW VARIABLE 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: NEW VARIABLE 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: NEW VARIABLE 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: NEW VARIABLE 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: NEW VARIABLE 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->26;\n26[label=\"Node Type: NEW VARIABLE 26\n\"];\n26->27;\n27[label=\"Node Type: NEW VARIABLE 27\n\"];\n27->28;\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->29;\n29[label=\"Node Type: NEW VARIABLE 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: NEW VARIABLE 31\n\"];\n31->32;\n32[label=\"Node Type: NEW VARIABLE 32\n\"];\n32->33;\n33[label=\"Node Type: NEW VARIABLE 33\n\"];\n33->34;\n34[label=\"Node Type: NEW VARIABLE 34\n\"];\n34->35;\n35[label=\"Node Type: NEW VARIABLE 35\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..f9182c607f --- /dev/null +++ b/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: NEW VARIABLE 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->12;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: NEW VARIABLE 11\n\"];\n12[label=\"Node Type: IF 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->15;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: END_IF 15\n\"];\n15->10;\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..f9182c607f --- /dev/null +++ b/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: NEW VARIABLE 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->12;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: NEW VARIABLE 11\n\"];\n12[label=\"Node Type: IF 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->15;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: END_IF 15\n\"];\n15->10;\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..f9182c607f --- /dev/null +++ b/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: NEW VARIABLE 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->12;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: NEW VARIABLE 11\n\"];\n12[label=\"Node Type: IF 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->15;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: END_IF 15\n\"];\n15->10;\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.13-compact.json b/tests/ast-parsing/expected/while-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..4d96573912 --- /dev/null +++ b/tests/ast-parsing/expected/while-all.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->3;\n3[label=\"Node Type: IF_LOOP 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->3;\n5[label=\"Node Type: END_LOOP 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: BEGIN_LOOP 7\n\"];\n7->8;\n8[label=\"Node Type: IF_LOOP 8\n\"];\n8->9[label=\"True\"];\n8->10[label=\"False\"];\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->8;\n10[label=\"Node Type: END_LOOP 10\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.14-compact.json b/tests/ast-parsing/expected/while-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..4d96573912 --- /dev/null +++ b/tests/ast-parsing/expected/while-all.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->3;\n3[label=\"Node Type: IF_LOOP 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->3;\n5[label=\"Node Type: END_LOOP 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: BEGIN_LOOP 7\n\"];\n7->8;\n8[label=\"Node Type: IF_LOOP 8\n\"];\n8->9[label=\"True\"];\n8->10[label=\"False\"];\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->8;\n10[label=\"Node Type: END_LOOP 10\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.15-compact.json b/tests/ast-parsing/expected/while-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..4d96573912 --- /dev/null +++ b/tests/ast-parsing/expected/while-all.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: BEGIN_LOOP 2\n\"];\n2->3;\n3[label=\"Node Type: IF_LOOP 3\n\"];\n3->4[label=\"True\"];\n3->5[label=\"False\"];\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->3;\n5[label=\"Node Type: END_LOOP 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: BEGIN_LOOP 7\n\"];\n7->8;\n8[label=\"Node Type: IF_LOOP 8\n\"];\n8->9[label=\"True\"];\n8->10[label=\"False\"];\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->8;\n10[label=\"Node Type: END_LOOP 10\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.13-compact.json b/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.13-compact.json new file mode 100644 index 0000000000..c7716d2db4 --- /dev/null +++ b/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.13-compact.json @@ -0,0 +1,7 @@ +{ + "L": {}, + "C": { + "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: NEW VARIABLE 16\n\"];\n16->17;\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: NEW VARIABLE 18\n\"];\n18->19;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: NEW VARIABLE 20\n\"];\n20->21;\n21[label=\"Node Type: EXPRESSION 21\n\"];\n21->22;\n22[label=\"Node Type: NEW VARIABLE 22\n\"];\n22->23;\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n}\n", + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.14-compact.json b/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.14-compact.json new file mode 100644 index 0000000000..c7716d2db4 --- /dev/null +++ b/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.14-compact.json @@ -0,0 +1,7 @@ +{ + "L": {}, + "C": { + "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: NEW VARIABLE 16\n\"];\n16->17;\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: NEW VARIABLE 18\n\"];\n18->19;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: NEW VARIABLE 20\n\"];\n20->21;\n21[label=\"Node Type: EXPRESSION 21\n\"];\n21->22;\n22[label=\"Node Type: NEW VARIABLE 22\n\"];\n22->23;\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n}\n", + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.15-compact.json b/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.15-compact.json new file mode 100644 index 0000000000..c7716d2db4 --- /dev/null +++ b/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.15-compact.json @@ -0,0 +1,7 @@ +{ + "L": {}, + "C": { + "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: NEW VARIABLE 16\n\"];\n16->17;\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: NEW VARIABLE 18\n\"];\n18->19;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: NEW VARIABLE 20\n\"];\n20->21;\n21[label=\"Node Type: EXPRESSION 21\n\"];\n21->22;\n22[label=\"Node Type: NEW VARIABLE 22\n\"];\n22->23;\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n}\n", + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/test_ast_parsing.py b/tests/test_ast_parsing.py index eafe6a2f33..c255f06c36 100644 --- a/tests/test_ast_parsing.py +++ b/tests/test_ast_parsing.py @@ -60,7 +60,7 @@ def make_version(minor: int, patch_min: int, patch_max: int) -> List[str]: VERSIONS_05 = make_version(5, 0, 17) VERSIONS_06 = make_version(6, 0, 12) VERSIONS_07 = make_version(7, 0, 6) -VERSIONS_08 = make_version(8, 0, 12) +VERSIONS_08 = make_version(8, 0, 15) ALL_VERSIONS = VERSIONS_04 + VERSIONS_05 + VERSIONS_06 + VERSIONS_07 + VERSIONS_08