From 694a60dac89dff735d1e81c4f13d5f708d6b0c84 Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Wed, 6 Jul 2022 12:37:57 -0500 Subject: [PATCH] add up to 0.8.15 for ast tests --- .../assembly-all.sol-0.8.13-compact.zip | Bin 0 -> 1340 bytes .../assembly-all.sol-0.8.14-compact.zip | Bin 0 -> 1336 bytes .../assembly-all.sol-0.8.15-compact.zip | Bin 0 -> 1341 bytes .../assignment-0.4.7.sol-0.8.13-compact.zip | Bin 0 -> 2555 bytes .../assignment-0.4.7.sol-0.8.14-compact.zip | Bin 0 -> 2557 bytes .../assignment-0.4.7.sol-0.8.15-compact.zip | Bin 0 -> 2558 bytes .../compile/break-all.sol-0.8.13-compact.zip | Bin 0 -> 2826 bytes .../compile/break-all.sol-0.8.14-compact.zip | Bin 0 -> 2820 bytes .../compile/break-all.sol-0.8.15-compact.zip | Bin 0 -> 2823 bytes ...all_to_variable-all.sol-0.8.13-compact.zip | Bin 0 -> 2638 bytes ...all_to_variable-all.sol-0.8.14-compact.zip | Bin 0 -> 2636 bytes ...all_to_variable-all.sol-0.8.15-compact.zip | Bin 0 -> 2637 bytes .../comment-all.sol-0.8.13-compact.zip | Bin 0 -> 1270 bytes .../comment-all.sol-0.8.14-compact.zip | Bin 0 -> 1268 bytes .../comment-all.sol-0.8.15-compact.zip | Bin 0 -> 1268 bytes .../test.sol-0.8.13-compact.zip | Bin 0 -> 2482 bytes .../test.sol-0.8.14-compact.zip | Bin 0 -> 2479 bytes .../test.sol-0.8.15-compact.zip | Bin 0 -> 2480 bytes .../conditional-all.sol-0.8.13-compact.zip | Bin 0 -> 2565 bytes .../conditional-all.sol-0.8.14-compact.zip | Bin 0 -> 2566 bytes .../conditional-all.sol-0.8.15-compact.zip | Bin 0 -> 2565 bytes .../continue-all.sol-0.8.13-compact.zip | Bin 0 -> 2823 bytes .../continue-all.sol-0.8.14-compact.zip | Bin 0 -> 2827 bytes .../continue-all.sol-0.8.15-compact.zip | Bin 0 -> 2825 bytes .../contract-0.6.0.sol-0.8.13-compact.zip | Bin 0 -> 2572 bytes .../contract-0.6.0.sol-0.8.14-compact.zip | Bin 0 -> 2571 bytes .../contract-0.6.0.sol-0.8.15-compact.zip | Bin 0 -> 2573 bytes .../custom_error-0.4.0.sol-0.8.13-compact.zip | Bin 0 -> 551 bytes .../custom_error-0.4.0.sol-0.8.14-compact.zip | Bin 0 -> 551 bytes .../custom_error-0.4.0.sol-0.8.15-compact.zip | Bin 0 -> 551 bytes .../dowhile-0.4.5.sol-0.8.13-compact.zip | Bin 0 -> 1766 bytes .../dowhile-0.4.5.sol-0.8.14-compact.zip | Bin 0 -> 1770 bytes .../dowhile-0.4.5.sol-0.8.15-compact.zip | Bin 0 -> 1767 bytes .../compile/emit-0.5.0.sol-0.8.13-compact.zip | Bin 0 -> 2100 bytes .../compile/emit-0.5.0.sol-0.8.14-compact.zip | Bin 0 -> 2096 bytes .../compile/emit-0.5.0.sol-0.8.15-compact.zip | Bin 0 -> 2098 bytes .../compile/enum-0.8.0.sol-0.8.13-compact.zip | Bin 0 -> 996 bytes .../compile/enum-0.8.0.sol-0.8.14-compact.zip | Bin 0 -> 997 bytes .../compile/enum-0.8.0.sol-0.8.15-compact.zip | Bin 0 -> 995 bytes .../compile/event-all.sol-0.8.13-compact.zip | Bin 0 -> 1537 bytes .../compile/event-all.sol-0.8.14-compact.zip | Bin 0 -> 1536 bytes .../compile/event-all.sol-0.8.15-compact.zip | Bin 0 -> 1535 bytes .../compile/for-all.sol-0.8.13-compact.zip | Bin 0 -> 4806 bytes .../compile/for-all.sol-0.8.14-compact.zip | Bin 0 -> 4807 bytes .../compile/for-all.sol-0.8.15-compact.zip | Bin 0 -> 4808 bytes .../function-0.7.1.sol-0.8.13-compact.zip | Bin 0 -> 4431 bytes .../function-0.7.1.sol-0.8.14-compact.zip | Bin 0 -> 4427 bytes .../function-0.7.1.sol-0.8.15-compact.zip | Bin 0 -> 4428 bytes .../functioncall-0.8.0.sol-0.8.13-compact.zip | Bin 0 -> 7103 bytes .../functioncall-0.8.0.sol-0.8.14-compact.zip | Bin 0 -> 7097 bytes .../functioncall-0.8.0.sol-0.8.15-compact.zip | Bin 0 -> 7089 bytes .../compile/if-all.sol-0.8.13-compact.zip | Bin 0 -> 3355 bytes .../compile/if-all.sol-0.8.14-compact.zip | Bin 0 -> 3356 bytes .../compile/if-all.sol-0.8.15-compact.zip | Bin 0 -> 3356 bytes ...rom_top_level-0.7.6.sol-0.8.13-compact.zip | Bin 0 -> 1354 bytes ...rom_top_level-0.7.6.sol-0.8.14-compact.zip | Bin 0 -> 1354 bytes ...rom_top_level-0.7.6.sol-0.8.15-compact.zip | Bin 0 -> 1354 bytes .../indexaccess-all.sol-0.8.13-compact.zip | Bin 0 -> 1689 bytes .../indexaccess-all.sol-0.8.14-compact.zip | Bin 0 -> 1687 bytes .../indexaccess-all.sol-0.8.15-compact.zip | Bin 0 -> 1683 bytes ...exrangeaccess-0.6.1.sol-0.8.13-compact.zip | Bin 0 -> 2352 bytes ...exrangeaccess-0.6.1.sol-0.8.14-compact.zip | Bin 0 -> 2351 bytes ...exrangeaccess-0.6.1.sol-0.8.15-compact.zip | Bin 0 -> 2349 bytes ...it_conversion-0.5.0.sol-0.8.13-compact.zip | Bin 0 -> 4223 bytes ...it_conversion-0.5.0.sol-0.8.14-compact.zip | Bin 0 -> 4226 bytes ...it_conversion-0.5.0.sol-0.8.15-compact.zip | Bin 0 -> 4226 bytes .../memberaccess-0.5.3.sol-0.8.13-compact.zip | Bin 0 -> 2594 bytes .../memberaccess-0.5.3.sol-0.8.14-compact.zip | Bin 0 -> 2593 bytes .../memberaccess-0.5.3.sol-0.8.15-compact.zip | Bin 0 -> 2591 bytes .../minmax-0.6.8.sol-0.8.13-compact.zip | Bin 0 -> 1611 bytes .../minmax-0.6.8.sol-0.8.14-compact.zip | Bin 0 -> 1611 bytes .../minmax-0.6.8.sol-0.8.15-compact.zip | Bin 0 -> 1612 bytes .../modifier-all.sol-0.8.13-compact.zip | Bin 0 -> 1350 bytes .../modifier-all.sol-0.8.14-compact.zip | Bin 0 -> 1350 bytes .../modifier-all.sol-0.8.15-compact.zip | Bin 0 -> 1349 bytes ...newexpression-0.5.0.sol-0.8.13-compact.zip | Bin 0 -> 1821 bytes ...newexpression-0.5.0.sol-0.8.14-compact.zip | Bin 0 -> 1816 bytes ...newexpression-0.5.0.sol-0.8.15-compact.zip | Bin 0 -> 1817 bytes .../pragma-0.8.0.sol-0.8.13-compact.zip | Bin 0 -> 1023 bytes .../pragma-0.8.0.sol-0.8.14-compact.zip | Bin 0 -> 1022 bytes .../pragma-0.8.0.sol-0.8.15-compact.zip | Bin 0 -> 1021 bytes .../compile/push-all.sol-0.8.13-compact.zip | Bin 0 -> 1961 bytes .../compile/push-all.sol-0.8.14-compact.zip | Bin 0 -> 1963 bytes .../compile/push-all.sol-0.8.15-compact.zip | Bin 0 -> 1955 bytes .../compile/return-all.sol-0.8.13-compact.zip | Bin 0 -> 3063 bytes .../compile/return-all.sol-0.8.14-compact.zip | Bin 0 -> 3064 bytes .../compile/return-all.sol-0.8.15-compact.zip | Bin 0 -> 3059 bytes .../scope-0.5.0.sol-0.8.13-compact.zip | Bin 0 -> 2557 bytes .../scope-0.5.0.sol-0.8.14-compact.zip | Bin 0 -> 2551 bytes .../scope-0.5.0.sol-0.8.15-compact.zip | Bin 0 -> 2555 bytes .../struct-0.6.0.sol-0.8.13-compact.zip | Bin 0 -> 1425 bytes .../struct-0.6.0.sol-0.8.14-compact.zip | Bin 0 -> 1419 bytes .../struct-0.6.0.sol-0.8.15-compact.zip | Bin 0 -> 1420 bytes .../throw-0.5.0.sol-0.8.13-compact.zip | Bin 0 -> 888 bytes .../throw-0.5.0.sol-0.8.14-compact.zip | Bin 0 -> 888 bytes .../throw-0.5.0.sol-0.8.15-compact.zip | Bin 0 -> 890 bytes .../top-level-0.7.4.sol-0.8.13-compact.zip | Bin 0 -> 1617 bytes .../top-level-0.7.4.sol-0.8.14-compact.zip | Bin 0 -> 1617 bytes .../top-level-0.7.4.sol-0.8.15-compact.zip | Bin 0 -> 1617 bytes ...-level-import-0.7.1.sol-0.8.13-compact.zip | Bin 0 -> 2839 bytes ...-level-import-0.7.1.sol-0.8.14-compact.zip | Bin 0 -> 2837 bytes ...-level-import-0.7.1.sol-0.8.15-compact.zip | Bin 0 -> 2834 bytes ...el-import-bis-0.7.1.sol-0.8.13-compact.zip | Bin 0 -> 2409 bytes ...el-import-bis-0.7.1.sol-0.8.14-compact.zip | Bin 0 -> 2407 bytes ...el-import-bis-0.7.1.sol-0.8.15-compact.zip | Bin 0 -> 2410 bytes ...nested-import-0.7.1.sol-0.8.13-compact.zip | Bin 0 -> 2277 bytes ...nested-import-0.7.1.sol-0.8.14-compact.zip | Bin 0 -> 2278 bytes ...nested-import-0.7.1.sol-0.8.15-compact.zip | Bin 0 -> 2276 bytes ...evel_variable-0.8.0.sol-0.8.13-compact.zip | Bin 0 -> 1946 bytes ...evel_variable-0.8.0.sol-0.8.14-compact.zip | Bin 0 -> 1947 bytes ...evel_variable-0.8.0.sol-0.8.15-compact.zip | Bin 0 -> 1949 bytes ...vel_variable2-0.8.0.sol-0.8.13-compact.zip | Bin 0 -> 3374 bytes ...vel_variable2-0.8.0.sol-0.8.14-compact.zip | Bin 0 -> 3372 bytes ...vel_variable2-0.8.0.sol-0.8.15-compact.zip | Bin 0 -> 3368 bytes .../trycatch-0.6.0.sol-0.8.13-compact.zip | Bin 0 -> 6479 bytes .../trycatch-0.6.0.sol-0.8.14-compact.zip | Bin 0 -> 6477 bytes .../trycatch-0.6.0.sol-0.8.15-compact.zip | Bin 0 -> 6482 bytes ...pleexpression-0.5.3.sol-0.8.13-compact.zip | Bin 0 -> 1743 bytes ...pleexpression-0.5.3.sol-0.8.14-compact.zip | Bin 0 -> 1742 bytes ...pleexpression-0.5.3.sol-0.8.15-compact.zip | Bin 0 -> 1737 bytes ...aryexpression-0.5.0.sol-0.8.13-compact.zip | Bin 0 -> 2478 bytes ...aryexpression-0.5.0.sol-0.8.14-compact.zip | Bin 0 -> 2471 bytes ...aryexpression-0.5.0.sol-0.8.15-compact.zip | Bin 0 -> 2470 bytes .../unchecked-0.8.0.sol-0.8.13-compact.zip | Bin 0 -> 2460 bytes .../unchecked-0.8.0.sol-0.8.14-compact.zip | Bin 0 -> 2461 bytes .../unchecked-0.8.0.sol-0.8.15-compact.zip | Bin 0 -> 2461 bytes ...bal_variables-0.8.0.sol-0.8.13-compact.zip | Bin 0 -> 9657 bytes ...bal_variables-0.8.0.sol-0.8.14-compact.zip | Bin 0 -> 9667 bytes ...bal_variables-0.8.0.sol-0.8.15-compact.zip | Bin 0 -> 9666 bytes .../using-for-0.4.1.sol-0.8.13-compact.zip | Bin 0 -> 2364 bytes .../using-for-0.4.1.sol-0.8.14-compact.zip | Bin 0 -> 2366 bytes .../using-for-0.4.1.sol-0.8.15-compact.zip | Bin 0 -> 2361 bytes .../variable-0.8.0.sol-0.8.13-compact.zip | Bin 0 -> 4293 bytes .../variable-0.8.0.sol-0.8.14-compact.zip | Bin 0 -> 4292 bytes .../variable-0.8.0.sol-0.8.15-compact.zip | Bin 0 -> 4291 bytes ...ledeclaration-0.5.0.sol-0.8.13-compact.zip | Bin 0 -> 2891 bytes ...ledeclaration-0.5.0.sol-0.8.14-compact.zip | Bin 0 -> 2893 bytes ...ledeclaration-0.5.0.sol-0.8.15-compact.zip | Bin 0 -> 2888 bytes .../compile/while-all.sol-0.8.13-compact.zip | Bin 0 -> 1764 bytes .../compile/while-all.sol-0.8.14-compact.zip | Bin 0 -> 1766 bytes .../compile/while-all.sol-0.8.15-compact.zip | Bin 0 -> 1766 bytes .../compile/yul-0.8.0.sol-0.8.13-compact.zip | Bin 0 -> 5771 bytes .../compile/yul-0.8.0.sol-0.8.14-compact.zip | Bin 0 -> 5768 bytes .../compile/yul-0.8.0.sol-0.8.15-compact.zip | Bin 0 -> 5773 bytes .../assembly-all.sol-0.8.13-compact.json | 5 ++ .../assembly-all.sol-0.8.14-compact.json | 5 ++ .../assembly-all.sol-0.8.15-compact.json | 5 ++ .../assignment-0.4.7.sol-0.8.13-compact.json | 5 ++ .../assignment-0.4.7.sol-0.8.14-compact.json | 5 ++ .../assignment-0.4.7.sol-0.8.15-compact.json | 5 ++ .../break-all.sol-0.8.13-compact.json | 5 ++ .../break-all.sol-0.8.14-compact.json | 5 ++ .../break-all.sol-0.8.15-compact.json | 5 ++ ...ll_to_variable-all.sol-0.8.13-compact.json | 6 ++ ...ll_to_variable-all.sol-0.8.14-compact.json | 6 ++ ...ll_to_variable-all.sol-0.8.15-compact.json | 6 ++ .../comment-all.sol-0.8.13-compact.json | 5 ++ .../comment-all.sol-0.8.14-compact.json | 5 ++ .../comment-all.sol-0.8.15-compact.json | 5 ++ .../test.sol-0.8.13-compact.json | 7 +++ .../test.sol-0.8.14-compact.json | 7 +++ .../test.sol-0.8.15-compact.json | 7 +++ .../conditional-all.sol-0.8.13-compact.json | 5 ++ .../conditional-all.sol-0.8.14-compact.json | 5 ++ .../conditional-all.sol-0.8.15-compact.json | 5 ++ .../continue-all.sol-0.8.13-compact.json | 5 ++ .../continue-all.sol-0.8.14-compact.json | 5 ++ .../continue-all.sol-0.8.15-compact.json | 5 ++ .../contract-0.6.0.sol-0.8.13-compact.json | 19 +++++++ .../contract-0.6.0.sol-0.8.14-compact.json | 19 +++++++ .../contract-0.6.0.sol-0.8.15-compact.json | 19 +++++++ ...custom_error-0.4.0.sol-0.8.13-compact.json | 1 + ...custom_error-0.4.0.sol-0.8.14-compact.json | 1 + ...custom_error-0.4.0.sol-0.8.15-compact.json | 1 + .../dowhile-0.4.5.sol-0.8.13-compact.json | 5 ++ .../dowhile-0.4.5.sol-0.8.14-compact.json | 5 ++ .../dowhile-0.4.5.sol-0.8.15-compact.json | 5 ++ .../emit-0.5.0.sol-0.8.13-compact.json | 5 ++ .../emit-0.5.0.sol-0.8.14-compact.json | 5 ++ .../emit-0.5.0.sol-0.8.15-compact.json | 5 ++ .../enum-0.8.0.sol-0.8.13-compact.json | 3 + .../enum-0.8.0.sol-0.8.14-compact.json | 3 + .../enum-0.8.0.sol-0.8.15-compact.json | 3 + .../event-all.sol-0.8.13-compact.json | 3 + .../event-all.sol-0.8.14-compact.json | 3 + .../event-all.sol-0.8.15-compact.json | 3 + .../expected/for-all.sol-0.8.13-compact.json | 15 +++++ .../expected/for-all.sol-0.8.14-compact.json | 15 +++++ .../expected/for-all.sol-0.8.15-compact.json | 15 +++++ .../function-0.7.1.sol-0.8.13-compact.json | 52 ++++++++++++++++++ .../function-0.7.1.sol-0.8.14-compact.json | 52 ++++++++++++++++++ .../function-0.7.1.sol-0.8.15-compact.json | 52 ++++++++++++++++++ ...functioncall-0.8.0.sol-0.8.13-compact.json | 10 ++++ ...functioncall-0.8.0.sol-0.8.14-compact.json | 10 ++++ ...functioncall-0.8.0.sol-0.8.15-compact.json | 10 ++++ .../expected/if-all.sol-0.8.13-compact.json | 8 +++ .../expected/if-all.sol-0.8.14-compact.json | 8 +++ .../expected/if-all.sol-0.8.15-compact.json | 8 +++ ...om_top_level-0.7.6.sol-0.8.13-compact.json | 3 + ...om_top_level-0.7.6.sol-0.8.14-compact.json | 3 + ...om_top_level-0.7.6.sol-0.8.15-compact.json | 3 + .../indexaccess-all.sol-0.8.13-compact.json | 5 ++ .../indexaccess-all.sol-0.8.14-compact.json | 5 ++ .../indexaccess-all.sol-0.8.15-compact.json | 5 ++ ...xrangeaccess-0.6.1.sol-0.8.13-compact.json | 5 ++ ...xrangeaccess-0.6.1.sol-0.8.14-compact.json | 5 ++ ...xrangeaccess-0.6.1.sol-0.8.15-compact.json | 5 ++ ...t_conversion-0.5.0.sol-0.8.13-compact.json | 23 ++++++++ ...t_conversion-0.5.0.sol-0.8.14-compact.json | 23 ++++++++ ...t_conversion-0.5.0.sol-0.8.15-compact.json | 23 ++++++++ ...memberaccess-0.5.3.sol-0.8.13-compact.json | 6 ++ ...memberaccess-0.5.3.sol-0.8.14-compact.json | 6 ++ ...memberaccess-0.5.3.sol-0.8.15-compact.json | 6 ++ .../minmax-0.6.8.sol-0.8.13-compact.json | 5 ++ .../minmax-0.6.8.sol-0.8.14-compact.json | 5 ++ .../minmax-0.6.8.sol-0.8.15-compact.json | 5 ++ .../modifier-all.sol-0.8.13-compact.json | 8 +++ .../modifier-all.sol-0.8.14-compact.json | 8 +++ .../modifier-all.sol-0.8.15-compact.json | 8 +++ ...ewexpression-0.5.0.sol-0.8.13-compact.json | 8 +++ ...ewexpression-0.5.0.sol-0.8.14-compact.json | 8 +++ ...ewexpression-0.5.0.sol-0.8.15-compact.json | 8 +++ .../pragma-0.8.0.sol-0.8.13-compact.json | 3 + .../pragma-0.8.0.sol-0.8.14-compact.json | 3 + .../pragma-0.8.0.sol-0.8.15-compact.json | 3 + .../expected/push-all.sol-0.8.13-compact.json | 5 ++ .../expected/push-all.sol-0.8.14-compact.json | 5 ++ .../expected/push-all.sol-0.8.15-compact.json | 5 ++ .../return-all.sol-0.8.13-compact.json | 9 +++ .../return-all.sol-0.8.14-compact.json | 9 +++ .../return-all.sol-0.8.15-compact.json | 9 +++ .../scope-0.5.0.sol-0.8.13-compact.json | 8 +++ .../scope-0.5.0.sol-0.8.14-compact.json | 8 +++ .../scope-0.5.0.sol-0.8.15-compact.json | 8 +++ .../struct-0.6.0.sol-0.8.13-compact.json | 3 + .../struct-0.6.0.sol-0.8.14-compact.json | 3 + .../struct-0.6.0.sol-0.8.15-compact.json | 3 + .../throw-0.5.0.sol-0.8.13-compact.json | 3 + .../throw-0.5.0.sol-0.8.14-compact.json | 3 + .../throw-0.5.0.sol-0.8.15-compact.json | 3 + .../top-level-0.7.4.sol-0.8.13-compact.json | 1 + .../top-level-0.7.4.sol-0.8.14-compact.json | 1 + .../top-level-0.7.4.sol-0.8.15-compact.json | 1 + ...level-import-0.7.1.sol-0.8.13-compact.json | 5 ++ ...level-import-0.7.1.sol-0.8.14-compact.json | 5 ++ ...level-import-0.7.1.sol-0.8.15-compact.json | 5 ++ ...l-import-bis-0.7.1.sol-0.8.13-compact.json | 5 ++ ...l-import-bis-0.7.1.sol-0.8.14-compact.json | 5 ++ ...l-import-bis-0.7.1.sol-0.8.15-compact.json | 5 ++ ...ested-import-0.7.1.sol-0.8.13-compact.json | 5 ++ ...ested-import-0.7.1.sol-0.8.14-compact.json | 5 ++ ...ested-import-0.7.1.sol-0.8.15-compact.json | 5 ++ ...vel_variable-0.8.0.sol-0.8.13-compact.json | 5 ++ ...vel_variable-0.8.0.sol-0.8.14-compact.json | 5 ++ ...vel_variable-0.8.0.sol-0.8.15-compact.json | 5 ++ ...el_variable2-0.8.0.sol-0.8.13-compact.json | 8 +++ ...el_variable2-0.8.0.sol-0.8.14-compact.json | 8 +++ ...el_variable2-0.8.0.sol-0.8.15-compact.json | 8 +++ .../trycatch-0.6.0.sol-0.8.13-compact.json | 9 +++ .../trycatch-0.6.0.sol-0.8.14-compact.json | 9 +++ .../trycatch-0.6.0.sol-0.8.15-compact.json | 9 +++ ...leexpression-0.5.3.sol-0.8.13-compact.json | 5 ++ ...leexpression-0.5.3.sol-0.8.14-compact.json | 5 ++ ...leexpression-0.5.3.sol-0.8.15-compact.json | 5 ++ ...ryexpression-0.5.0.sol-0.8.13-compact.json | 5 ++ ...ryexpression-0.5.0.sol-0.8.14-compact.json | 5 ++ ...ryexpression-0.5.0.sol-0.8.15-compact.json | 5 ++ .../unchecked-0.8.0.sol-0.8.13-compact.json | 6 ++ .../unchecked-0.8.0.sol-0.8.14-compact.json | 6 ++ .../unchecked-0.8.0.sol-0.8.15-compact.json | 6 ++ ...al_variables-0.8.0.sol-0.8.13-compact.json | 17 ++++++ ...al_variables-0.8.0.sol-0.8.14-compact.json | 17 ++++++ ...al_variables-0.8.0.sol-0.8.15-compact.json | 17 ++++++ .../using-for-0.4.1.sol-0.8.13-compact.json | 9 +++ .../using-for-0.4.1.sol-0.8.14-compact.json | 9 +++ .../using-for-0.4.1.sol-0.8.15-compact.json | 9 +++ .../variable-0.8.0.sol-0.8.13-compact.json | 5 ++ .../variable-0.8.0.sol-0.8.14-compact.json | 5 ++ .../variable-0.8.0.sol-0.8.15-compact.json | 5 ++ ...edeclaration-0.5.0.sol-0.8.13-compact.json | 5 ++ ...edeclaration-0.5.0.sol-0.8.14-compact.json | 5 ++ ...edeclaration-0.5.0.sol-0.8.15-compact.json | 5 ++ .../while-all.sol-0.8.13-compact.json | 5 ++ .../while-all.sol-0.8.14-compact.json | 5 ++ .../while-all.sol-0.8.15-compact.json | 5 ++ .../yul-0.8.0.sol-0.8.13-compact.json | 7 +++ .../yul-0.8.0.sol-0.8.14-compact.json | 7 +++ .../yul-0.8.0.sol-0.8.15-compact.json | 7 +++ tests/test_ast_parsing.py | 2 +- 289 files changed, 1081 insertions(+), 1 deletion(-) create mode 100644 tests/ast-parsing/compile/assembly-all.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/assembly-all.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/assembly-all.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/break-all.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/break-all.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/break-all.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/call_to_variable-all.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/call_to_variable-all.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/call_to_variable-all.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/comment-all.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/comment-all.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/comment-all.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/conditional-all.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/conditional-all.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/conditional-all.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/continue-all.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/continue-all.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/continue-all.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/contract-0.6.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/contract-0.6.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/contract-0.6.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/emit-0.5.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/emit-0.5.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/emit-0.5.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/enum-0.8.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/enum-0.8.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/enum-0.8.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/event-all.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/event-all.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/event-all.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/for-all.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/for-all.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/for-all.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/function-0.7.1.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/function-0.7.1.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/function-0.7.1.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/if-all.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/if-all.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/if-all.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/indexaccess-all.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/indexaccess-all.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/indexaccess-all.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/modifier-all.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/modifier-all.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/modifier-all.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/push-all.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/push-all.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/push-all.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/return-all.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/return-all.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/return-all.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/scope-0.5.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/scope-0.5.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/scope-0.5.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/struct-0.6.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/struct-0.6.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/struct-0.6.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/throw-0.5.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/throw-0.5.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/throw-0.5.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/variable-0.8.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/variable-0.8.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/variable-0.8.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/while-all.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/while-all.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/while-all.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/compile/yul-0.8.0.sol-0.8.13-compact.zip create mode 100644 tests/ast-parsing/compile/yul-0.8.0.sol-0.8.14-compact.zip create mode 100644 tests/ast-parsing/compile/yul-0.8.0.sol-0.8.15-compact.zip create mode 100644 tests/ast-parsing/expected/assembly-all.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/assembly-all.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/assembly-all.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/break-all.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/break-all.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/break-all.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/call_to_variable-all.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/call_to_variable-all.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/call_to_variable-all.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/comment-all.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/comment-all.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/comment-all.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/conditional-all.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/conditional-all.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/conditional-all.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/continue-all.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/continue-all.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/continue-all.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/contract-0.6.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/contract-0.6.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/contract-0.6.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/emit-0.5.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/emit-0.5.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/emit-0.5.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/enum-0.8.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/enum-0.8.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/enum-0.8.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/event-all.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/event-all.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/event-all.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/for-all.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/for-all.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/for-all.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/function-0.7.1.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/function-0.7.1.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/function-0.7.1.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/if-all.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/if-all.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/if-all.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/indexaccess-all.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/indexaccess-all.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/indexaccess-all.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/modifier-all.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/modifier-all.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/modifier-all.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/push-all.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/push-all.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/push-all.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/return-all.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/return-all.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/return-all.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/scope-0.5.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/scope-0.5.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/scope-0.5.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/struct-0.6.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/struct-0.6.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/struct-0.6.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/throw-0.5.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/throw-0.5.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/throw-0.5.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/variable-0.8.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/variable-0.8.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/variable-0.8.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/while-all.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/while-all.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/while-all.sol-0.8.15-compact.json create mode 100644 tests/ast-parsing/expected/yul-0.8.0.sol-0.8.13-compact.json create mode 100644 tests/ast-parsing/expected/yul-0.8.0.sol-0.8.14-compact.json create mode 100644 tests/ast-parsing/expected/yul-0.8.0.sol-0.8.15-compact.json 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 0000000000000000000000000000000000000000..87ef389a3d86cbc0466e717c5453f681e49ca98a GIT binary patch literal 1340 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..30420079bc327ce36f0e13ad2b64b41a17d8d3e2 GIT binary patch literal 1341 zcma*neK^wz00;1&*=$Xb8l9KClw3tP7Rk%l$r1CqP;S^UT5a<(Z#iyb{{3-xmIb2#5TF2L1kYi6Wt0(j zzyJ`Y2mrbO0N|-q0{I8ht#f!1$&eaG3LwOVhebvO;3I>s6JrR5H>hEh17HY%0{}Vz zShHB6raPt)oPn1D%R>)3D8y4OnkiYHYBpLU)IU^Av>uN!yCn08?+EQ%q+e)it%274 z8?E0^pigVCQJB1H;a2clua2J-N0McDR5U0+xINmoJ_c9PfQHn6mh$4?6i+RY86AbW z?`=XkFx1zkNV}`!la-H1Su#xz!N%Uq(TFKQ4UGqqI>b;tkc~d+KHjzCdnhEF3Rq#@}UX*LR9SCizs#6jZU()?;mCiY|kR)`|ncW6zN20R%N^@OE z;%KYeo`oVBrKi?Baq}EQVF>jY*c;r<5s)u<@oeYL{8nO=Hf+*D)N7t`mG~w#Mv{~h zb}wCHHC5TM<`T|!Zssh4 zSnpr9k@B4+5Ua$+%t8CC?6hsT8vH{_k>l~dd-1=z_lnJMciWU;FRIO!-)tp1`&KLK zWU3}je8=sRF7gXF5SOOyoa$};v27Iq+xHH))aB55u%eiqZo4TNrsD!1f^CorKdu07 zt#}i^H4llNa^c&#X`Jrut4>D3f@3cDvYndsDqN}^Nj4~oK&yPRoiPCcY4xY7WW^Zd zu4rA5_aPnPEw=Df2cprb^-s^-wJxV1rEX2nEMb-CKKQuMTd}f_qF?e(J4l00cbgoK zeqDRud3X5wUl-6sI!tNv=Dg_7WkJtGwCJg)gpu7AIbR~0HW&fbb%9Ju`)NC>Jq zZv@R$4?)(cU+HdEKxov9y$Z$VE0%e=jaVI@6TSEAK->h2gOX3+)z4GhVDez4CVtlr z$=6F>En}QnRHtQ5eKLQpKUGfLP%>L^yB0|-@E@hpb`fqd9v4}6D!?ob4}r3}9gEpI z!C-ki+05oVxy8+~#GFhyrg#7HP)$*iz@jQ2>zxhjcHm|$9AQ4r^D|2oF&EUFN*W4{ z%0x(*{Pl@a`pGoZHqyc0__%z$Q$OhJ9KqyJ#ev=Bz zew-!Q>9&n*e&)&^&ftrw!B-?`VR&8WG-D=T6?)D6^nmyK(xaCVW~!b;W>!b`h)+0x nyR!@kCHvp3?aTIW=rUjC{~+h?43YctmD#W7{toRU2>|~9O?Pr{ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..56a56a4aaa59a25f88ce86f8fbd6f67420d1460b GIT binary patch literal 2555 zcma);S2!Dt0)}IYz4xk>s#&42LW{Qcs8OXABUTZ$wJ5bhl~6H?@Y^X>BPy|Km*1?K zMM*_dqsCu*=JY@J=XuWeUA#Bn<#+K~nbOee0jL3N02G{T>*YqE7y|)-j9UP}RR93s z8XWB7h4A-4gea;gsVPB}f&=_u9uZFhft< zfzQE#C11vxwOI@M5k4}VVu@+@gmlGcgFEB&1BYP5pn3Ahc&t21^^*Us+2(NXXVdF(RD`Hn* zT+iay%h5&)NUWv?zf*%Fz|t}!WO)Wjj$X*u*#0-a7wLoyv#=*lwVm^KgK+)x1J$4f zN&CY*)@>-;j$WKNqi0Wf&_!D>=G$+bTk;WMu0CvMj-|6IaoAu6M6Ug?dyj64WNn|1 zt=<;JchP&|GeyWb;GfxHFgEr}Aw)FM@zt%2qs#ecxKHkH? z^o_MEd)=mFv=rRZE2#~nULb|NTPpt+{U|#4Ni6Uej;dRYV|%+ zAl1LLUJxsI3rZ92T!5UnToV;6=`&c}^7#1Jdck?{!7r(?nP(m)V>UBDD{5OjeX^mkmc%^toFOx^7K*lxN7oD{LrO#7iih zCi*r#1k{;wxF|ufN0y&G(xq%5fkJJrZ+NbxOWYkvQ0lOu<)XAMI~n~s`5f#tlpL`g zSe8ERtucS7du~D)8035K9x}TcAF$pf5;nI_;x%jbV%kZddRZnOg2v0b0CPE$Td&rA z*TFmAx#~h_VdwD2xhmfC*+nU=gt$y!2$x}R-l4gL=IWb72eU~WwC{GKPXPe1--XP5{6z2O@Z z3VL7Vu7|G#%#ac-n#!-@xHy93rQ_ zb`)UHQm6evzWooD0xa)r<}``ydF2%F@obsix%QAtp>|K4xDb1rxNw&EvUZy}-PVvc zlEXZ0*#9HQ=QO|RizZ&gz2C~!k%c05H6s$a5}q+TvDk)tqWh~sG5kV;TzB#bpIkyZ zWF?u52X#Ys!Yx@0Zdm@jt|qJq>hk+3vk6VhUbLx!?@O%;j2}@i!xLXasr}yV6U&)Z zBCSUA^x~dvm_EQSiIC6LUx`@+=329W4jn9itSn>uy{CPG@8ne*i<4WK{Y__266#)+ zzH(6HK)_et6lGJ4o^yaPO!&%$2Y~V%jDn7YTxveO4Z7KrpBI~E8Xn27SmCwa@cHkJ zQt)8B-pe$jvx3EM6>6jY(n*Xg)B5pNlj^_{wt1wJ-L0xd(xW&A!jPP$o=^Rt9bB(7 zNkL>VQt0-cAG?EN2kevDXW~r`fNP%K)~ZzJC-%fRUze zK3vOlt|ByDW4xYAYgcUM3*uSJy&_QzatkIA!v z+;O?+&|$t)QgtCgpdpHPo=nVKuSd_6pi95DtX@*>)(>~`GE_Ui92Bvd>K;YV9lUAk z7#d0S%77!X;0wLsqDZTs`y@Ov)panxf17pUa-)G|oMkUCWw#LEYmrAyqN7u-9mOdcZmpGn&Y2(|()hy!Wn3e}TzhT1~a7rg9bfB}~b#iSD6Htx?FfD#fz~q{+M1eMD?P#AhBsntZ8c&tGV{I=6u9zX+&x zLCxyNunU)-y>*(azgp;%>^FiTWid`9H)addjGJqKFYdG=3-N#D zuk~pV?(bzkzp+HB@!gCtqiT;FV>x=oUS+Z+R1{U$T0T&C{BI%q<7EF$EY-jGfA!4Dl#c%2J=LGu{~_v+;sF5v E0UeaqivR!s literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..fe97cd4979271a1484fe657ab4b6c51168f5099d GIT binary patch literal 2557 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a627f5cc4676d0a7a32d4c4681ff2ea1819ad7cd GIT binary patch literal 2826 zcmajh_dgU40|)T4_sWcHCtsYA6tVPuHTUFH z+ofWWg!io9G+IUeTp<{C_55sj+-9p$#DeBoXxdJ5wg?CW7xJ;_f$L6l*y9R3vef1W*i zBs09>#kxxu9sR z%edS>nbDWP;QKep!Rp$;lVLucG!>W_;O_2=^YF{5;oggIKr<+5Us7wj2}4-X2C@Jpn*%vqi8+Mbrl?=vCz?I{>yexN*UuJ=h-Y?(E5JbJ4d0UdO7Ce7y}IR zfKlRem-Uj760sYsM?Xq(eI3!g9-1>9=R4}SDs;~D+EQ#`N`c#!j***Ow-OoN^-{bc zo!=Z@Uxuo^bVb(mA{+=q9~N31=j27AcQ{BJVvSAg0hedL8(E5?XN@xiG>^R}RKUvhkuy~0S zt|h6U)_8|UAb>M5s1TXgT-r=5J$>@)qj6!B|7y9}&u(*^f)RQm%pNOFX2WB$b@M;} zrl0m0f>(Kq*!s&lhcyxKAe)4Aoj@r^yQ`~U!X?I=Dla?&^{5FC>D6*N1EQ4$lMBdQ z=DpR&INr-B3B!5z<*gdsLzvB6lCQNs1B+-7g6&RiP2y-=YFlcV@vK{x;%z$6%!_Ce zOx!4AC|9lgIGZ0qM~w`y>xyqPhc=J1Dl^;J44c)zHDA4LDmCzGfH&EnVsa%XfvW?7 z*SXl_d6hV7gJfQXk4?QL$YF)K!cuthZuK$VlpN2NjZyxSOVk?s# zBl7U63P;fHp(NwhQg67yFHi!|fiKoN1!@rW{pq2bMg4-%L%l-aG(-%qKx~z*V*^)B z>q^50FckY?dVzkMhHkKOn4!(~ZaLn)(u?$n(g|B=U;Mmh<^;4j#!88WDjzzC%7c-d zKPQib#1HNcPb%x-XQ7*Ouj`Ek(%n6I1rM0femEazT2ZEiVb5G8%RF2?Va!2$A+Cz4 zX`dsO*A2x`-;k>TAY|w-s`;%4snz-au<{>c%QJUpwsNAOym@J=kx=P%cGQ26!e zFr7rcu4rShpoIlj$In}7U#Rz&gQNX7O8%!vS;@4iExJVt52(Z zT8gG0<(~=PJ=gu<2sqD|b-t)b>Nob+2 zTP&T&8rp5xJpWA*yv|pzYP2)W?TgGXP^wYvO6!Gs`}gp!V%2pFsOm;I%p8G!8KHFD zCIy+7^3hbAOsyrxGu~v=_M~9LkjhZel8CO8y2b8$nC%rOXa)b1dEo;ca6IcrZqH<^ zAi;(F_t~zho|V8y38kUNC?T)5VsuwiwEo5Dlaqh?)UA|-ooeq8Eq~FiZNJC~r8z48 z=KI!SF(M+dU@3K?p%0_MCu0!vsyN{fAeoPoXK_|E@o3Adu$BF(TbLvt5>;N;5vFmGW$jhdpT)x?yx7wEqoto#Hfoe? zL({l@@pR+moB(G`V6lmi%$+kR@>mtqm>fQJKHie0!zN|N)!=nGq~G(ViGj!HJN5U>taVs%e4@U$lg7IHukHYn`8?MlR29S8AE;2TCH=nc zp1AZAHycRZQsK%JPfD@2Bx<+|$ho^{J=JV%mh61VDD+TvK}>dDrj}1H$4!GtBg@p~ zy2LiS3qRY-&_A}^Y4g`&iaxPQa>0(`>rv8Pap&D%LegCs+{=m=5^A(%pT*Mh?>)GG z^#*m92SUy1T*Th~KHdI|QTpAcH|uq|3ydhIuOG>RmwxvQti9<-kw%*lPbK&B)Xi?n zzB*ViQp=vH;s*dm2MSv6D{>4tty0O{!Y6R2PB^0Kn%1q;^@{fM4NtbWb%SPtQJB|m zFXhvJFv*{CZuD|2lhsXJmKdgKU=^P$UKQPvGFeRrN4I4(q z+|ptZM|8Gm?`n=vnmgRItcV0l>&))0^LC^|w{1?^yLeL`?(U|B0)u78N4`U!$eJBA zu_8JuTz5h|bkFl(ufhGegL~Xnory6uOrIj0>VK0&_wW2)wAxuQ TG5>p{`&-+;`}nVT0f7Gi)@Mw5 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..9f2efe6fac5b7006c903115b0c77cd3e6fa46d31 GIT binary patch literal 2820 zcmajh_dgU40|)T4A{{eyA)da^@6YS`e17=+^7#Ya#(GrL$^c3L6CloM)if}kq0gQk0GKcY0PX<*00)#a z(o-1et*L0?B|OLutTC8-P{A6MLhg{eXdf|01yBG1^`fui*uDcmwfzYe56SM znAhv$&PTWto&1PXiF?Yw?WP2G?Q~TCEcxl0bI*wv7R}jZuQ+ztCGJDpSYsMskcsGS_3!uA+ValhgP!zkuok<%`Zub!!2!jaaALV zX(%d_wt%D8sA2Nk6xKbKNkHuJbx8e3n)?Wz=39}N!6kTg)Pv0@^ZJh!xDdr=gf zC9dP&h_KMm-!T7lKs ziZOSndOzE@WUk|Mc6eN#hh^Yo&Ac${GWf|x7g1Q)AAE6*KTBkIJCT|0c}KnmqDMAy zJ3jGejo^qQm4;N7D!+D*tx2>4!MmfevCwEiO{9A1P(!oOI4aw0!htSLvBly*yW4#5 zUh(ayfMOc3{4vU9(+vl6wYI4e8C)@fiFP~Ju8(w!t4v8HKp1WzU(W*%%_x`*N)2t{ zffbSCrX|8!Lak4Si`VI}%->BUuiS6l%V*@Xvs#Qw>ArY>chgAl!YcgiL}@pK8WKQQ z-#C_;cft%zO^aaeK&4srI`JTKny%)hHJB8TyVrSL>?yED<~V0Q0wFShE39u<=q4i+eR%K>4EkG^o;T4)T==#I~Iazm*(~X+Kq@GKQ(VOU;rGYln1Tjl!dDEe{J!2A~-#TDiVf zjv0i`CiUGU<@j~PMpA4pQFquCS1!Y}l8oM$C2RO$Gy3Jd3McQ^FO0jQPOP3SA=})4 zE$HeI-LgtXQG^KQ=J!ENL{5?2Fz=SR1v$6sNSb&WsH7|`paY&9+wO~f!_e3l`}3zt z{8g3!cKm97-Y=KmZ(&oi64BJ!Td4qa2;!TgONa%wf_}cm)1PuuGh;UgzfMp6QXRMa zQfkaz=-{S(5N%*HET}FfiP?Zb4I?P-9!3Snx>zb;6D9t_R&=LTDF+S4dedI zWH4G(9|&g5RyvtZ5MJCZ)-COJ$b1Z+;aOEBV>H_*tW%Nke$TCkejyXnqmCYDt$`L) zX+t`9aw(^e6=lPmn+BsIrl98=U21Vvox)F~R3nmf^rN{JxjAS^wdeqrvK@*FRPUkNn|YSOe}x?K!++_d1t>e)8>NXh5vm)(qhgGT)79V zcO69e5qitzu!%a@V~Ygbyc{_t-S@)-2aFkk{-IRDRON);0Wivl1IE>pz}7 zlQ?RKo<_{3S-Cs8)4+J)Swypqtjz~k8(+{>HE3>KZwjgu19`nlKF%noP7dDG*CRc$ zbe9Jc5>Xv!FUahK_97Q~+zDDEv@Ey9#Wx6-E<(_my;E&p6}+%atO0NB=1uwDGaeIw z0VONtl9b+xD!Y%*gtl{)^HW3cKG#l%o_pYh4+^u#baan}k|5luS_WEQp1Y~;XGBAS zz5;K|#&wqU!Q9BAug0;xk+KW%zIujnl*9?qqMNloUtvU8b8 z_Jn0oT1&J<;5OWrTdM&a%nVm`-a_jw0f&%($7e-H3(e`TSOP@QuzCrPE!|#S{`LNfjZ-ZYp;8LuJLS+@TmR_MvQCRH+;}k#ejx+fY|e-@75ZB)*w& z;}0c+mg?x@c?r?G!Z|+qxAG{4!TOR$ z4qk1z=8)ZyAFf1UCnQ%vkwjSYRnd!Uq7pmIw(=OI`+`cZQxb>N`2+tA3M-Ugfm`})A28}IC{ zD8-l!b_be_QpIJz;h8&nH74!1?pWC{${xCC3wVp_^m)v;w}<1A2`P8wl+!eJ-#{04o;SU2%hMWx^w11GTBBi(x7)&SL) zq1eaSqSOMe#8sFZ;t_uTMm_mZtka-Mp|UK&%j8_cR=Hra{nOGH?46HcQ$S&1B}{EG z-R4W^@NUvSp9@pAJ}0OJ&+$g?b7vbGS#5+9u8X!5QHP)lK^6!!2 OZ;k$L!C&hF0RI7%Ygm5( literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..33b07f2ec3a85320f6227c3935e751223ed55c13 GIT binary patch literal 2823 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 O|J3l$=KtX?0Pr7px?GI_ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b7b06e7039d622d16a4253543f97a98af6e26b2b GIT binary patch literal 2638 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 bGyIGH$M&qvSXlr4F#IjzFDZYm5dioPH0DuSp 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 b)4%wCWDf>qJN55}>2GcSa`vw@0s#L3V_g9g literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..69aa742a296645ca6a57a8270a6cfb3e9f3f504d GIT binary patch literal 1270 zcma*neK^wz00;2jhP9GCD0Cz1LS)O!Otd90U1=1fUGo0AEi=QmG)c#!*AK)!PcD*Yt zmh>If4~VRDxzf7zFnJy+8+xVcG>P7zM&G~>rP&VjK*%+{l@8qy7Rj`$cQ$J1=Kz1p zV{v|`qy4&Ay740P+`dhUy5Yi_FE1d0HLo#8#LFOfxbS8w2kpJ2$ND>KW`35d>coKt zOD65oQsBE2$X>+73y+0!zV_ve#&3^M2cy}yJi6R}`f+T*r~2#fak%F zrqnzN%Q2WrJC}ixDRV@71Wobh<3F0g9KMlf&DeO_Wl;e~$GpLNNil}Q*77N^iMbDk zdtXH$-foq>*rEg?p?9?`sp5fQS?h+|$=gRk%&eCYP07>kS|{s1_~$sUN2wsaHmW{j zoXbmNmX#}qdQ?jU>s@`h_)P_F^4Wk;os72-6zCVcr?~92Nz(g^cxWZ10wouq5_L6O zu>95HM_z*z{^vKWWsl#LtYxViwAIb|q#1=t-l#%Xvo?do6|DB9up3OQEV>MInmyW1 zg|PW|a-ogw^`!*9JyItRbSA4C*0MYvXLz=w+ei2vR%5OQq-gG8G}^#AxH^?>h_~Ew z9{Y=CgGRrzqvIPZW>m+g_ha@ zssY0}y6HK3LaisQmn$5>#`DQCvcD;xZcyi_U3|^-m{h;`6KKBni_jsnQcImjh z@;KVB_%=PP8RnXf^L(dvmroCc%h17jP;Ci<#I{TX>|n|k_MX|E5-r;edl z3M$&Q+q$zpR&KA3gmm<%o~KEw+9s${n>aaXQDgubOv*3%bktM@JmN0JxjXJd+-4BFt)##i;-sEjThtEI$f?zSjb&EO$~Xk%O{{MO^^^MOd)YMlPwyd z^4ZRb9q7?K#jN>*#eS6I5(j>3xvX{Tm!q5r7ppJw6AC`T6$G|d`frf7P5L*9ps({k Vcp|u}K)zl<+x6Jq%x&EO;2-EQNy7jD literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..44cbee76c1f6ec8bc73e9e32bf11fb05b5a2ac34 GIT binary patch literal 1268 zcmWIWW@fQxU}E57=udeT^0wbT-G_yN!Gf28L79PpAvr%cH#M(BH!&wiuQ)#^KDDAC zzo;ZWu_!qsvn*9Ft2jT8lZBNbmVu#xfx)(;Bi;CqapA&C=eAk%&N-Twsk&dTwKqu0 zPX2oFUNIy2jkj8k-+58{JoU(roEh~}hZ1Zrem!KE$G&w#NQv*%bvu8g+?<{|iKBe8 zTWa1O-n`$Q*SjsQUSLbxc5$u48McyCt(Uw_=d<8ngVo$28$ksDtx{qW;F z_cHtQGFAnTd%~T+Jj+taDtLJGWu!=Cefg|4pa0~ax;p7@@C3fdmZ^KxAM$zr%|BUb z{*GJdCG6Kk|4D&9D?WX0cAo2FJSD=B%eO&x7E_JV!vixVs;}g$r>e-e zxYg~oGTq9X7|eBX>PDWkjX&BpGQStww|>*Y8QH-)k?IwuKd#T#Y>RbvuU@%*SA3oF zgPe-Sq8H6Vc}p+&o}95){r-0+4qHy{>#L^Ovc^P7xs)B`6>@&fY2Uxex z*OB?2Wm(7QaOYV2!5{e(nGcAtUVN|jeEt5{1@F4&8*=`?e=(8w_{q-5LqYeWEN$Y_ z%ES6IlDAZLzr1u}+onmcwr)DTE9CoBXX|?PDee^pb2fk0kh;<8o9U^s@j>qA>j&eW z|9bdDYL(q*)n%JfuK!To`99l^u`&Eh*PAK#p8fcI=Tf5el)t`HFI;(7a8G`-llV{L zz4{;jUoy$M2EI8)+;N~$P zD=#IR{u6S#^2iS5}_aQ@blkCrz0KP^OwClyf?v2 z+GN!fzFKupF;Sgb&PO$Gw!bMjn=MM zua-27!a?zCGp8hj(cC#cFpsCtx{)O{GD@s+WM7(6W`12myXRim98P@pEw~V z>P{%@@m+i;SBrG;{MB>{;XJ?YO)_WMa_tSXxPO1KW%rtwJh3r)c@u{Lk3*0Cy{Xgx zZMfujXFF?8bkVQ3r7Z07!ILsJ&w2Og!2jKkyk-P=GcwsT<1UVXB@!4kFoGx|3a0>X TRyL4QMj#9X(!Id4je!9GsKQI6 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..1424b07d8d471a90656755c2cd6c363881e9e27d GIT binary patch literal 1268 zcmWIWW@fQxU}E57=udeTlKXbHoev8Gg9R@GgE9jHLvns@ZfahMZemW3UU7a-d}>8O zeo;w$Vo`ENW?8CUR&jnFCkrb>ECWLW1A}cxN4oJJvsM~xj8*`5=Z%F zx755nym`MpuXkHqy}*{X?c!R8Gi)WPTBk2Q&A+}pF4oX;rpp1d#D_ntFJEcaJm(>s zAbMWV;#T(8j>0tEklA-aA07O$EK6+3w7ZvHee8aDef@C*kIM;dcczE4L~eY&^uv$y z+{^6G%UBgW?g@AP@+?awtKi|$mysfo_2skHeEySv>guGs!4vo*Tc++&f5_+gH~(a% z`BS!rw>C`5ze6}9E-q@hc=TKIC8r(Xt%~xCKK(ROmRQxXE>63$Oz4s39=n{?jE{u) zeP17G`=PtLV`k`;matzF{U-(btoZb~*?F#y@stQhF5d>(Sxhxb4-d?gsJ@b~o~k0> z;#RlU%5*DlVldamsT+CDHvVYa$oyVx-}+4pXJiNKM5O~oChN59yp`7wyeCcH`uQT4jU7`fJQ5g8vUj;j zifZJHw-*Y1XwT2M<5F>YbJTwS=jtlejLf&o>z6ZjUyrm~5FPSO zZt2l0D`y+zzH+jBv|e5^j9=+d{5_fJZvQI75r5YJ^uGY_CtjVsY4D|0``XI{}bq3zUi0H|5RSb*)QxC zEl<&pZvKCt?Xtbxl1=HuUENtoA$~pJPlvm1T2xjpn(xY5m7h= Uc(byBlrjQgAdv0_mTe3S02$I!82|tP literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..7358784481d91dca77d0e75111c7f02b227c9b5e GIT binary patch literal 2482 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b421fef9f690496c08bfe14367fb4ea51beed5f4 GIT binary patch literal 2565 zcma*pe_=E0nF*PI>ygR{}|nt2gr1 zNw00YaGLwBNoH3$12mm-g-DXe?ty58)Xc(>>)@6HqzXNPhF`~R^9}Lomr~K7*6RGW zdfGt0JOl+@ooGIB#>!10o$c9&bEg8a4zh4n=-xdA8v}=TLL`@RZ*4?2cv*T({1gxD zToB+{0OiwWY}?#(Mv3vq3dd70Qp6K(hr%x!bW=7dmt(eM3j-o)9&YI+&=VytlFkqh z-Q{V-+%~Ho(-eK|$HA-XuA(YMMOK{~9HHPgdq`BX#Z5ZBcXm{SUhQ~Ku}qS^YmyLy zn3!xkUsn}F$XP!bNLrUT!yqeONq;5C>Y3PIbmSYo@fhRTNh$8hd#$h%{rx2wxL#)9 z4f+Y@&?C}uAhiLsAh)SX>!>zt{M_-L&An$a{6Y}%ymTE!%Wu%9rCvl9A8xrTb*^aW zq5yJ?x3hBLl(i7O-$n5`C>EPYdiY{D`C1&zkeR=k}8MZ1!;Nt0q({WvUxsZ@2fgE{={9%ef@9w6R zlt^t9NYs6Jkg9!`uq+WQ@lSE%oV`+hn#FCj{#D`QT8}2#v{{PmgSneOYuM-A_*_pD z-r4R$a)Z`5G&e=zNVD}}-@s#=`u-Nl7Tc%??f97s(zzH6PJ`{?`&n|zt=>5H4p~pa zgdUT|n_#6V|#1f1$y)#RDQ$(Dnh>``SKr}=giCnJ;W`Q!PK>o-Zg&c~mI z>UZS!(ZYn~dM%R@e|gKbwDRJc!CoX*w#oJ9z19$CmFYhw(~Z_Vyxz{dYCp@5m%`PiFXgoAN3LcN|vQ_r!?O9gOeMjwiWv1=L=H7aRDxS zV1%bh(%mW5I8Y$D>Bpr$c;5DWVTK1#bx6>TE@}^lR-$yS}w=7XwEwU-#3*ZT8e#=ut2rXr#z?pp=-zENH#qI_#JJYH6F*$3f zCR%-F`X>-iZ4ky>F!|ijpp0%~*0AlG=&BRmM&C}NE>OVPqwzH<|AIwX#y1h+6@V@g zEi9fs0eW}?Jl=LuKNAkK4DX;Q6%w+8ync`D=!|u~oCInSKlfksOZR9oOuZGtB<_nn zpJHY@&csD}c5+~Nqppv;1oD9v?Y0WtR;-i_!to1m%{4s1v+lnCia@IZKD1}DV&zwJ z(QU461~sPEiB&NwC@e@Z?ZM1D>kOAw6wbiUXnVb!u_mu}hnH}&e$gVqcH`asNpSv# z1M3PiMgzrHv!)X-sN_3$R+)OnW6OHM)lhfo;AqE0KS5BrPe+Y&QT>Bf^BFMCWC2Fh z%Q{Uu(bq@N88V7L075p#=S=u+Ol z^(Gd0RQ%g@U?lwYs{7jQTlkd=sWftDFK(vfwStXXnQ!R)(r)r9Mm|5sv)dei}wI6D% zJzwg}#i8f|z1IpPGDK*;i^6`1KI*A|Yf9)65z-8GqI_*~989*xodaGRmYTun^ym2F5SXyXf=d+WA<=AV0sp zPL&ypWgxLY*O)pzWN(huo73u8*bZw1h8z_g`}Y9l|O&acIgLbWR~>-WXi z7r)hHuH;$j5(8~U^TP~YO?esL@ikqbXHsj?UU^j>FNU}iTXpa8ykG!`EhSL;>k;eV znXtQO$h*wO?fAq645$3s5oG<2u)hxm1Ft>Hf^fL^C_I|o{%hX!`w#g*x$71!=K{0V z%LEfl%y%1>F8`t&RX+7w{M$&!8v};wyKcLASJ>R!M61SSM`mTqtQ~G@c^Z7#>&+QG zHkGj~ix^c~8GiE1N2oDn-4#hO>!Ij)@eFG%KlWbs$?7=WyMAE9`_hHg$e=L$($rdZ z*603Lxq)$CoF^G}p#hoT#`Srql*Da@VRyKpa)Y_Fn2qW8$g9YUT?3m5RL5p zT#eXbdgv7}x8%Xf)s7baSAa`Yl0FPbqC)z=ZT6dI|4kV1-}yhKrVk^#^Y0z_yT-pa K=Qs8Mfd2rLRnS%d literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..53fac4b2bec8b5959754d45ec15156d7dcd42f7b GIT binary patch literal 2566 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 L?`Hkg9suwk&a&I% literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..e3e2adef65eed4683bfafb1eb8bac9514f0afe70 GIT binary patch literal 2565 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 Q?<~KI`MvjkV-EoM4>VK7mH+?% literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c34c7794e8002161454052f111827e83f6816cf6 GIT binary patch literal 2823 zcma*p_dgU40|)RsA@h=PR$a!)-YVjZjL6C=gd_8EoN-o0bbJwK9A{-kT(X_L$EC=~ z3Yl4#6)wv5^nHGRUa#l#`Qh`+=MQ*4)W1Zn2A~3f063>Lb7#7+WLpLRfZrGZfC2yj zN0cWT;pyir>3~E^`J#|;=Rhx%4;t>^@m+pj+1Sa$S`< z+7MsSbm;W;haM}QUoK^f4PBimVLOx$KH_YsO;Do0jq$T0k`M6Qgh=FpGNrG$ zrd=`Wyv|f%aG64|(w}_O3Tvb|_iQ6dGiW@t*F|+k z)@Z#O2>A4C4ML#4*sc0(Qcvbi)u`ze%nFM5va@S|NcGF*XtENs333fM#cNwV>SHN= z^rrFy3^PW>Q3nSsB3{fTR;2HqE@GGC75cpyO)JG*p-v+ek9z}%p{KoK;UCGA$&c$r zx{JtYoJ|m%L?lPVu&8fE-Td}NWZ|rWEi#gKR!#eiq-uNt8O1XOQKoe)t0b-%hAeDRNH0l?=v4Hxij*jr-X6R4A1Oij!{VHW{) zL0Bo+th@&IXIG~esp28?wTw58*3z}|?qnSDD9yoz*|y`w)f<7|X4{zf7pPe>1`iA& z(~S~0^z)LLgkE!p#Q5N)a5?KZn_ptwyk$Lg!oE*mE0mYL^dB?U{WUm&+8MZsM`E7q zkMzF14Q4TFt!iNoLQ7ww$f&*}@rwHKvr{fl;`SFe#k5y>A1Aw_EukrlyfdbUV@}NM zh!fVUeDKIPA)_mWRw6y@Q{V;h3ovqt_!d*ue^nGFfw4a`=!OqNDfe8;J_cgwlEq5L zX-(u7qkECCVwbS0*Mm*>{ICUp2NV0TA!$5!S2@pIw^%u0Aocp-BCU8-92>Kyx>1;@ z1r7#WTW>9hQjVDw;iU0Xfh!Kl`~&rPJ1hCYGe5bkz`N>o9xu>lD{+IpAxL7>0uu#- zqS9Kk;fl7}^S7K1AJGU=7fiY(>1KN%TV9rtl;pWNcG?roPE|`5l@k!M3PTnK>d!{= zHwNQ80`T zh%+e(JsxHX@sk8!2IIO`!Z(zITj;9O9vE0MkUB2?`eQ;Jt zMSbv-joFet02|`(|dNho4!CZ%+s; zg7_uIffh<~HHJT5-}zKouHJfp3XGgA5Vdqm%g&qVX^QIUCF?von9!GUUy3n-?}a06 zhIBLAzD{#Ol!0DKbdt$l;H@jeoSF@Z{ z1&`ZFT55On_xr4+sZowdEx}-tK=vWAD2Ces0{?Nxw1TG$q)lw#oK){t4o_{&3jZ_B zGTD27kkBRtuyS4tcx8Fl+D60H{)wH?o@1eOK_gUy%tzAsnSM1GwN1Vzpk*|Ftxz-3 z`zqs<6h07r888VwH2cbpFfIe#z;~RY-UrA@^r77}t z$Nok*slco2T#Y^l+E6z$N_<-JtWG!tqX({SM0g;-H(YzzDp|Cj>s{+7byA%#aJ@YP zszzmC`uhU(=}d0`zjw{9!Y~LB{ZrY;kg*LIk+XD^CX?Sj)>8g7(yyiv60 z&{Iolbf=$p5i5x7CpgBI4EP3kMj&4vGMotK&_cPYTsmh7F<0_;-)EatEgZ&hL|DT8 z_tp!6qrdN<_pN@*=C}+mu|~QJl)!K~+Z<*j`Q+xCBS_0<0T4I3KE@bqiWW}se8#jB zu_vs$ zR^$Z1!B@i&l=%Qt;5Jx9#t_N|QcTYuo;RWUUUZ%o7v{cNJm`_pgQAUwt1YkO#?p7~ zwdE8|J#n0Aq6Ee7(i^xi8)W5wVV$y9dT{_232t{_JQML_Jd?N3ZsE!YAw+*RkxZQ^ zoxJ}2C!ETkJI=3G&bMr?8Zmv+`l)SpYoG4CEAK8_N5pJ8w)cnyrdsXs5Xak8VMJ>F zC4T0iQ<+{QR5f(VO^BJI+fq7B`)+)OgG&kQ8ZD{KpU8nuD&FurvkvYGAo=BaR9<}n@`ZoJ z+*^7xR!1slAJSV)7#cB?j%1bhP~%r?-dZLYuVkLc>bit_8P%62n2+v!v!JoyZjwx5 z;Fb*(XCY8Ge6P&ZnsUDju}HQNea|_Bkx?)lT+zkM>=8L9_r33gbLsE^`cHA5ZRdL4c0<*1w4QM1HY zlx{(B?q+h0zvgv0P`$kwnGMld9p`w2oKY82X%@>>WR1k8(^?lpGWs6-Z~Tx>7-YO> zn85b@4}=NNGn5vZhJ7q=!)8tPQoW+Lv6OSl@UngupR)M*v&Ztu%~r_Dpjv+{qW!J) zNW1zSlcx3x`F{F%TLNDJ^3IsLW**`gfo^DNgYnqPSeh zh4zD7|E~`qt9(hqE-YzY(=t@C&bE4ZEzJ# z4c!_kVh#tG>&f*XcmxnJjbAM{>8{*4N;4zgFUex>-guJ1sywmt$a>)n+a+st*wQ&X znWX&=>2k|LbPUH+k{7wV(OLeiAop>}!4&$N04Qsj;B5E>G*IGkv?%g4EssnPM5XA; z&jvdf#7&K^T7K#1Jo>?T+rhg#L=GnRoytO}pWv-j3i-62X;7jmQQK~9D=0@>VD$(N z!c1K>2oIgs literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..fe086dd31fad0ae3f3a4e0e6147ca37f5c468513 GIT binary patch literal 2827 zcma*p_dgU40|)T4DLX4WGn~Cws3h~uLgUPE$%!-b<+#eoJlT7lJ&wqpWyD>^afq|G zLkXAp^nHGRUa#l#`Qh`+=MQ+B8&go~0LTH10Hn*hbq;}=#_<{ea0>(ghyVZpXQ&s< z!^_WA+R@Wf#uw@db`A7~`oO@BKF;nQ{;o0*U#J%yB^BTq000L7w49&88fKbO z(?W8Y+B9TMxuuZ2djp0}0Gg0LR>;&cVO?2yfIi8SWq&!poPtP`*#elnJorlc5nOgN zMVR#@v%OXzacS#6YfYrz5Bw2$U{&fC zx1^`o)hrnfbwV5NZBCu+;675bh{>KeDofM3s=T@6?mc8~geg2(cxxK?n0+Ww!(9xlaE1bV*>< z=M%S|Tt+8GDzJOsY)fiWtuI24gCf z4E`X|O8Duyd_WN*c-7k`p@#R~=DVGl!RIl?E_)P;@g~Q+=Fk`;n$*%*Or-q;htPL@ zj?Tm%<)dErrac$4%#&z+nek5#&t6sA6{l(C+a2sHSm_1ElP%&j@h4)k-aZ5lk70#! zW%A-D?3Gnf!<_ht{4w7JG@B6HT8A7noC4!(n%11-(<|(k$5*@ zb5hiTrkKjOZbON1`o}`a&4)~zgnw4n>FRmi0THVq20YQYmIv$6yXAkt@Dza=k11L{ZmIZLr=D?IGEV!4>p++@God!(9GO12*jJxOJEY||Si zv3VCdrkc7)?8|TSv4+s_D$+Mhyv0lm+_&6A2r1w*|J7KB(r46BUcz?*o?N#T_D?8Y z+*AZ(Ds^M1&_?T`T6K3!tEy!v%=BTO*wo-Zn5%Ubw?53wG_9@j&o^DA>j54FRkH$i zU3bWij_bB*kT>1rZJ5^l-i*YCSWhXsoi><-wNe7o`?~B+S3V^Z+UZ}T=i>Glug|I><}3+0d6m{!TEh%%K6<1*dQd*f;&Tk zu%IxWl?G}L+0HC1wLpH;0dW;|);H|BlImWxzhz^uxA zh=0Y4FUZJG^cr<`Ba%-qm;kiF%q3-dqUf0)~eLUUj{m%Az8f~+-2EjHzT;y#euHneB^Q4M3 z8>p9U!Bum#-k5i39Y6ZpK-xp3$>K+z)<79xw^ik2;ky|{mt>y}NxI+gx~OLY0e(50 z;SJZOu$HJFMn4X>-rpGXPrFS4n^V!!ui%96RX{+biU-{1FDCZhyZ)MyE$0MweE(A7 z;OEDAk%l?w`Mz@UVrU;CIx>+&8{XWJnM8oi_b#+2my|B*axg#~-2Lg_be0Eglo^!> zNv)Bd&L&07lr%8QLu@5I(=H3+>ysx-<@TgtCQJU4y)s3rpAtQgcuIy zh=`>!Itv)Dhb2~9h?0N)CD;ptKfIDP&RnKSjF2t9>$dztkted=Ac!%vS&AMZ zSuY#dkt4xCIm9dikFy%=fe^S49ybZ5A0qVYh!(%p?$epK(?1cnH|&8L@YUhYHpPu7 zN~#DG`GwbqaXh}(-oKPtttlT^hlZ4J-qAV^4NBn;hm7}Mt`2>7GEdr9q|e_zPHy3Pu*FPrC z-jXdJpp)N&bS^^XhiNJDADsIy@vZS{iw>CW)*9Ridqd1n3Sjk5UXt-4`!xypKvQm|q?s1TW8| z%;dQ)#&nKNn z=!8ze@lxZ3n&ac(szCc07TvLJz6a}71!<*%ymdlaQ_xXU|Y?V zq0Jg!HM?L?;*kN41Po+>FvP#8T@fg@e)v7cqcx!*&dMUWAwv0J{b7X3t1DLBt0e!j z`*Q_lC1AV0nj6DJaVhGH?hLV&R%|meqn0`oUf2+>0~Rc^o-5dOiw?Jm-%9lIkw8sZ zPQ+#-&pmn>{2Pw?6hJZ(RB)%3wp-RK=l0_;b7L}c9g6>r)W1&sZ{TGA&i_MJb7Ly% Rf4^jZYx#GJ{*o5}_z!RSWW4|Y literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..03b7d5b7dab2ee3239b52a75150933ccebfd554e GIT binary patch literal 2825 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 Q3;f#$f4Ar_cmaU_02SL+MgRZ+ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b3397b955c8f70443664aa59e5ada2c5328ea3d5 GIT binary patch literal 2572 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 P&hMK2-qPRX0|5R54o}o- literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..5fc388cc653b31339a7b11492fe03fe09a9af26d GIT binary patch literal 2573 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..15f1623ccd9b3f7ec9381099237fd67ffb53d85d GIT binary patch literal 551 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..273da3edb33130339af6d7ed302db9f293aa60e5 GIT binary patch literal 1770 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c2847ecbc8e5b17520cdabdd071dc94d0f81df13 GIT binary patch literal 2100 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 Q$?((WKXdTsF93l50JbC96951J literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..511c40b94569834f56bf7b225539c643e2d4d699 GIT binary patch literal 2098 zcmai$S3DaE1H~h@Hi=D*prx%9O5L`I-A1c4G_4i0wTTsb?{QHsSB=z&BDh6r2elJo z)^1g8L4$H{QS&ck^*59jTFkOquQngAdG3`lvojsnR@M5M3+09;T2;3@zB zaPV-!$}7TDV2UtbPj?%KKrc@ptc{(|3uhO92bim`Cx)Gg8DIqfL;?Wt#6&0MQ)Tbs z@sUO~5Uvm7BGmznOEnSF5S#IB=T{OVevYMl*$AUK^d7nALVdbc+9OuXNrXF(hx5F51p&6B-A4YH#>HR0gq-{K9V#kz!R zLfY;jxVD(TX>2d?2Dp(nQ(pknzw%FXdDETGRU|U}?S&8HwBgEij1BKowGce~^ar>$-l(b}X#+iafrK;txs-5dOnp47q86c@qS@ z6p%~WmI*TpFAQV6`>Bkq*23SQLS9Y=j4F#gOcN-gj1U2yGW40W4N!Qou#G7pIgv^JJr?bZ&I57{FndW_Q?=nu4J{1BPal9|caW4)C zPV%xWGe2Ot>932AV|SlB6zOV|(>n})d3ka>_Tuj3S*yj}E^@V}!d-|t``d6fnut}yC0Gr5%V#AiPdx<| zBz_IW(R7H?R3o+%Y_C+q^U8DOdlD!~DGgl)@pBk9Wct$^mki#bpQ{l3)sB%CaO_l25GA)4oY}L5N|*((#V7Edxtgy?jtG*d>$;Th(VXdikDT$3hvX&S zyZwgKPDI4-1k_g&J}`*?KyO6L6V&z!`)|h&zw1C19#Ej0_+1nw{2#Dm@qyjhf$9u^c_II=H8oRj?mDe+{CLJNdw+oy zIoqggw=6>!q2`)|54DSWO&)zO3Xpr6N23rMlZST07Oe#W#0A6RxUUmhFYJ((imqm< z1dDDur?=Nb!O``tPJ~a?5aP+D_gy=~dXH+^IgO7@GH?ZmB}Q1T z&8EY`4HJBdA>G$3_}Umw2o^VPY-sVj=e0e}D_P3Y;c@gK#0TI-uES8qFZfQz!!cv$ zd+VMo77^k5ta%ZYm^&f88x&C?Hr7UuckY>p5Oq%qeX6Udy+M5yH-~P%cwBk!GX2)u z>nYwzZXVFJmhXB_gF0E{&Q*H^cYB`MX-G|t(5UKhFkBs?C2pA%KH4L@T9kNT&1V~t zfs?jkHjhW-86QD2qH;P;a3G~VeU3i*TN(T8SUH`CytA~0)%@2No{T?ZqLyzN?7-MW zqZc5d&l``TT9#5#=**_1-fy(rJ*2Qy_y#Z%#@!@kd>f3vig{%|=Y#kl-h6;DQx!$% zMQ*jy?{QQTD;R0X)6%wz;vS-$LQZm=J@p`*(euv~q@X7T_4#$@^?emk@N9kOSC7a` z`okPhtO;~!vhLVH2?lvj34{~CUHsEl$!PTS6TxRxYu62hQ+oAB*)E`ONnewevw6(^ z&vrp7^#*a5-xSUcdK0Ol63Uccot!DOU7PaU#z3#fON3YTI1;g@05zX06u5f2vBw1) zUMwhS2LBZPTrMv|*b1J1eLG2u*i-kUH|A-6w5H<+_SMlCAms@Q!$G+&w?n^;cQQ3( znTg-h|3$p^IxkOFDItz(V3M7wW&UVSS>{|8s*5yW0BSP+Z<_xC`hOM4@NfKowj&Lg TS^jM@{4(-a4*hxt0Kk6$?dRkK literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..0535039b05ff06d748905f0bcc42e8e2d0712a56 GIT binary patch literal 996 zcmWIWW@fQxU}E57Sdj88WU`0L2Rmj4hI^b03`z_P45@jgxw-~=7J3GH#rZk$sTBqJ zMJ4fxMadbNWvO~u#rb)hEUXN%3=9nn47ME|>BfJI3m0BGx6PV&&e6O~)%|jmkED_N^O2N_?lT+xa8q+J{4C{DN!l zCEwP+zs|ud!F-pYSH7s!61`~;U;V4T@^Y_gP!aoScZT0?CinK}GgU>!CkkFzpe?gk zl<9VvuSi?L)MZ%_`S+jZHt9^&2Ut+Fa|r%(y=HMdM|uel|rhxsqBy6!mZYF_kV z;iNUj%VsT#NqH)E@{PIB9SPBXmnEIb*(_6Q)lK+UwU#*gre5)U$$j{gEla+`5iMJ# z>WLiDJIVy_F5$Ye^R(-;Yd1{~JoK0&e^;gXdi-*M4xe8P%6v=BGlJ|)Ls`o0(k{uA zz54Bwko8nok~4YfEB&uiR%=wseLve?{X_J~%&jt)uHN`~tMmEP*Ae}x;U0Ln>*f^SyoS4<;>UY~250P5^gh!-=-y*XvF$ui1BX&xZBu%m4l^U$!s{_miWAhPOsQM%WF|z&#nw3;qVU+R~N5PiTScA#`?JF0lTBs0{iB$n`Au_ zF*v;AZPFa&hF0eG`C=0f-ctHgc_rn)DztPOr^v)BQygf8W`a zv?XC0-_*?p;s5kkYVJ2<-?OD^oix*>f=bJ(=JQ2;?K2j#{l3-qujXsNbW+x%?xrCA zN5*f(u7A;9U=huoo|h@2x!>#loE;C$4DSD`I)C`<^zbKUjBf8euTSg^@Hoh^$>PT$ zDbGuGtN!rVf3`ZkvaI|>c9TZVpBH5oGuGdcyY;m-+xMOE+V7Vt9yl&Zcz9GdThNC) z>&rRzU#r+}>qU8p?>G>6+O>E=?fJuMg{z;hw9G%nr6zUV+-&FFix+?NtYb9&vt{OS v&Y*uk4H6Focr!BDGvm&Gz$^#`4U8a)aBd9nW@Q7ZWCX$hAYBK{%M1(v27Jc| literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..7b9bf9990be4aa605619d97ef3bc0569cf863a12 GIT binary patch literal 997 zcmWIWW@fQxU}E57Sdj88q~}VPlsz*8!#z$01|$TwMb_3q1q9;{2TW)QW=q zqLTQ;qU4OsvQ)jS;`}^L7FLE>28IR(2HTE~bmKq9g$pm8+h)x>=V)H0>VCP_-XJME z`Rm1d#f;=P-fB61=SA)F)FVG~X4Fd^O0d27^^jp6`_>I1CB9SF?fj8)?ZY86e!(^O zl5gwZU*}+!V7|-HD_>MN^X*JUD=H`Fir zlTdH^uypnn_PT(&j}jKQ?(*N_n4M92`9|Gst&?GvUv(XB=7_j&Sl{)y?$Aer^&59; zOF14aJojMZxp$p6JPX&^E@GJa!{^Ip>4#D$Szn0cGtA4KnBEy9yH8bVvpb)`&&d8+ z+qx56SJt#%vkLBB5iD1}x^Bf&&AaN?Z${p~Z`QQ5Bt7TAthGi8-4!!`sjg#t7WePz z`*YRlC{N@GjR%pb2qP; zY>0oQv?t=l42jA>jXEb*#OygW@6+!sy#B1L_jMG*;g8==1}B}U@t(KmPS3+jlN4Ld zJec|5ZR?@jBi3uQxn95Hcm7>^m+z+V$62>u2&|iwsrhmKi6yM>e*O8jDmYyyzHV0g zv>jJt_FXyU;j~tNSqgu)%kPPP|3dv{^QA2>5?DBs;fj*_)>+R)%X>`ie_xs`(R%;q ztCc%Vj_}MnTz2@^C9d_4J}=b~na+QEQ;1@}0%Oz*d84TwdMB><-E>_ocPM3@-IUOM zZ=VFNj1TbGF10?lho{qDVE61WDFwz^7LvzLXtviKJr*1JbyHqP#tgNeug!Y)|KQ%S zv`>42fI9O(pB!N=?>{MBl?QIF$u6%tSlG4jjQ^Ph4<|cJEk7jQB5romxh2h1aI31> zKX$*kGiT<1a2smo9YUZrTTb=U+le038o{o7ce1_0@LU}k1u001FS$-Dpn literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..5604850051a5124048aa35a3c9888b7036a072f6 GIT binary patch literal 995 zcmWIWW@fQxU}E57Sdj88WQqD0D_dp;hI^b03`z_P45@jgxw-~=7J3GH#rZk$sTBqJ zMJ4fxMadbNWvO~u#rb)hEUXN%3=9nn47ME|>BfJI3m0BGx6PV&&e6O~)%|jmkED_N^O2N_?lT+xa8q+J{4C{DN!l zCEwP+zs|ud!F-pYSH7s!61`~;U;V4T@^Y_gP!aoScgBN@POOO%*?p=?o89>gen$4s z+SZ-my0WJAnpJT3ieS0&)paYLYTi}9elzm^eY2*eCFwZ_X00_+=&qRgOLZOFv$%gx z-!7i`e@E>0J+XC*FGU1Jw6jco>D(Mxk!9=|c>lu0C3EI^%}ny&Qh4EQFyD43g{=X% zPhB`$^lHwVwpiBgw6wjcH@(aFHDl6Nu939c@LY zx1M;OV?yO?Eizfyujs4o?tJm>Qar0;H`ktuJKyX~rv44^*;@09W&ZPnX+Cz1Vio=aGlZmh^{APEvf< zyBGbwxvhQX+tVzfEDQc>n*6!w-9AmKDtWfTDz*fcy;IWOo-dxcDw$#FThj+u)*o{a z%~O(mZ+-oeXyu=(rYe)z69Th?uD*?w4of!TPumZPtdkju-hBAM&G z{MfGXf6y(BVOhO)h40P>r>uut*B zLB+sZQaA4;xIE*{Y_)2-<~c3>!VBhCU59U**@|Di&@Fm$(bC8~r*a2o`HxCxw=pa_ zsB-9oMbPZoWhFYr?&}LChFdHQI72X585im;=F}fe}Oz&Wr)xtZX2aj6fIwq-%j$nSlWSAg0FL literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..8df293c031e537583c90e0860951d30c1a8114a7 GIT binary patch literal 1537 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a0f36910fdcf064f6c0be67f618e46b9a425768f GIT binary patch literal 4806 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..be8cabc87f0f8246b549e2484521d4d0b03bfcae GIT binary patch literal 4807 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 Z{|B8kAvn1Iyi=1*|9BMu@ISdSKMMc= literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..d49dc3e3e90e98ab71ea1c181228c0bb3575d512 GIT binary patch literal 4431 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 EKS4xV{{R30 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..546cb8f3f1db8c6dff918ee0c2d648435fccddce GIT binary patch literal 4427 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 Yz^0`NK>wcv@_#b=&$a)b3U9; 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 EA7W;K#{d8T literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..309ebec222a5b7514657d9149170357e5e90e89f GIT binary patch literal 3355 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 Z^Zy~Et&WHP?+fdnYW%Y;{}2cO_z#pxP%Que literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..184f8275329f761eb6c686a436e3231023e3576f GIT binary patch literal 3356 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..1851aff07a5e4143334373b98690698403c3ea52 GIT binary patch literal 3356 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..2a75f5def68bd63c5761f65adc524fae2907108d GIT binary patch literal 1354 zcmWIWW@fQxU}E57n3?h{B&Kl!cNhx;gM<(RgC_$6LuPJ4eo;w$W?o5ZQCebhYJ7QS zNk)8eNl|HXNqkySer|k8enEUrYFTQIu7RGpo|#^8eolO91z1;NQF2CRS*l)Eaef{r z3oAn`149D?gKbAgy73?5!iAU4ZL{W`b2Kkgb-!F|Z;+Io{Pp6!Vn*^CZ?zo1^P={7 z>X9EgGwP)dCD>m4ddM)3ed~sh65pxocK%4Y&Ny*Nq0QN^Ix#QY%{Q$uzk8Qo?aKxC ziig~1os9L81kEJ9AC+-;|LRLw_4L?*xqENNm7i44YR^tFx)MIyj{oLd^Mhw@+EKEr~2yLOWNCoQwt-^`r99-ew280zIMLZOvTjPgP{eRSA>=y_6(T1EPY$J zvD{9dbKT|7(?0xsk!_mfmg1c_S=g(1b$|N_b+K*y=dym5rB<1}KiCoeR4FdWb*9OI zon}|gsK-wVzk82ou8YBGp640+*ri^FztY?z%ya#WT?Yj;~hC?KhVexZrG5fBXNLI+2Sf zb8=ji)%5C5uCw-X@;q|j=3c+9t(VW-v*@mCu+R~WobMa;gm-58fvq3@etBHw>V1Xv zb4=9j;`IDb{auEcDz#c$U#0%*@#vDDes-sPwwhgCsE^>{S=lUCj_i88t3EN|lANxk z-y7o|4wGQ;2vz@|K;G5vxj5yU-@ut(kj=r&Cv}%E}$RQt;BoL$I0SD>RYRgANr$t z%HlaDX}?N-w%fHz(Mx8RUgozMyFTfuNPM-sF=0>5(dUMnE-AJA-w?JeKB7AI^-I13 z!j6hA#~yaA(_?f$&ES~p%e#8H?XG=EJ%!sIxK*8aTmI^T@^7_lL%fyZAZbzP+oa$|!W3jJDG}Gl^ z>N+K{%&N3q%Qw##(>lbWey}z&LQj2N=mD97)gp!xH{yy`=@N<^6sZQ0Mqw@1b)vSI(vjFMYIEerySFG(({ef#LN zG_&Fpu~2u3>3bd)UA!tZmBY{cO{PzS>#kRczmqpHFP+uC$f4)x`t6U8{hxbzcY|b| z)8n)>d2mvi)ao71M=RbfVR-fb6}R)0 zfG?ZZ=e72X57UWuml5x21XD?wZbgGo0Sb@AR`c# M1L?iM5|e=e0P#?3#{d8T literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..9a4b41040c7a9acf10ab1785959508d6d01ed794 GIT binary patch literal 1354 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 OWV`;`e6ejz0Qe7r`+9}| literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..0f1e4e6be2693355f722ac6b3dc3c00d68bbdb2a GIT binary patch literal 1689 zcma)-dpOez1IK@3lxK(LAT^hq!(4Kidr?b6$u_o_5oUH~7&9~nb0p?AMuj*oJw$Gi zV~2%~yWFBss<}myaLjoL4+rDzod4hFdB5L3KF{}gzW;yl7)h`VAOXk$d469Af%J6P ziWC6IDguBG004BRA1#_frP5d|Lkfdo#0q7QY0+V!HzUZDo76yhB+V#@70Q$WO93PR zhz9^9mm6SqU>08bW~AwY?1Mfg9p0&)oaq9)bVkT(KWTdA_o<|TndMtcwBB7t{%u%~ zFY@(vj|ubGQ$8WWDfhQ$yMB|*{J!p>y!hO->n+QTJ-zV8tSsj<0^=^qPqkP;AP;o|%n3 z6M_v>X;J-A=kIy(PIza=i=3wB)OYNLS1Vr2{ZiW}W_D!NIY=enSuRdxmnxFAW?gte zW(rO9wPimg$br ziUHSpG?2JEF_qM}(DB{D`(CNM$}S~R>3~Vm=Y8XGJx0NA&nrJI{`myatmrxBT0Ze$ zQ=qB|&i;e@Yw^#1Qdyb8rg47VuOBB!RzIRXT&%W|$WbP}(4dbxO9>nVE?Z`Zl$PS8 znMY03qk|+hWL$1igKl%??J$o{qU`0HZ~dd&xRIClu6_Xu*3kQVgmq3KwkC_?1|i2)?VAVOzOa6r?Dwi#MIWwOu;&u-o(cs%pu1EzG_wLG zqG!>U(<$~4G1WM@csq;k<*_9o~E?SD^>nHLBOPYl{uX z*0G~T)a8qYmSu6g#UtVSuC+k8`Mk7bFXMEC7r?R3Nx*&m;=Z2M8dK)>PBP?4D&$c_ z&px!0aErcrNJ?b9bUTY#_`44dV`}f|JYOgWCfpi#3QQ&}jnphWU${3@7OtxXmR!0* zN_^d32eD3n^;q0pnaayG6)h-Kje8R5nbS+eI3lx3|m^D3p_5u58h_K=7 zltQw~-Ie6gk>#e#nN(SByn=dcB?#`lXq(MSjx|nEKvovb<*eELpKCGv)%YVUkL?bI;&UvDgZ&uJ^+d zyTa0hi*Uz*2BCKfiUP)N*&7BoOM|Yw!CZfq6*3fw!?x%V7p7hDEpJMp+@=-v>}{wT zE@Jt!t3Wny*@7&ZceR84e8XC_o!Lxuy)iVkzBc9RskwzB-I#xtcwsA{yc}0z@`tHo z8eZ6mo(}Y91gwVGrxcD^i66~O9u(%Gn$^RH;7Q<5<06xyo?Wa8#8MlrVEO~=@AM1= z#yfG`u095VdP^fre_iw$&@+2Z;Wl_?mnZ3CqTS^GCZam}oo(Bw-`@zkTsd8UH38 Y^bh_|d*Crr(*N8+-|F^_M*pt=0>eBMJ^%m! literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c4d10cccf9c4d5059edb7c204edb7f265526b52c GIT binary patch literal 1687 zcma)-c{tMz0LOo0=1A{mB3C3#rfKnp968_AhTJK+vN>i+PlXmQ0h(u|j&4W3Th=egA)-=ly>F_&nd|`Tqa$z)FMd04d-HfQg&&nN88L z70Up?&Rqat2mnA-EDoO-8Wx79P*9;nq6vjW48|wMk;oT;xC1-HVME(uN$TQty1VA2Y6JiVZ1gY?f@N#=zo&EwKc1Hz4hd>y?E zBc_9~y@S&99=q@XgtIPpL`78IH2X|Fyg|}5%0>-v!#N@5p#vq~u8k8W4Pmbr;4KpI z=Lg}*TY%O}rEw2Io}!^Md|BDsbFObr#b5H)yzMT0X3i<~jtdX&$-|9)Jtrr%nZ{L% zAGiFP)PQrQ(^Ok@D~`cQThyiOgQkuNK=R zkF(<8wPEG6$}tPvm3)~hH=on8qKT4W_x353v=S|?8-e<0?QD$*?tIMsWJh5^d%RkF6aSBpc8 zAi28{>|ar4IXT!dMALg-p_YP9Z{VS`u~ty|wbP6dfz8S3ho-D643!4?H#p~dh0UL8 zT5ggpU;G)B8ejX3=o&cEX1nqX?Khky?bjAX7dM}0BF@d8SyC>y+L1UoqIp!)WcJ<( zD#^LTvkE3ydYijLI_c8^R95|Z^5pgcESmPgIO4|a$JJj@Gk+u;yHR8cu9QdFF!4>~ z_#ri8D|X|@878UcD*D@R#9Q%ze%_Ok{PO7JgOBu9h3OOIBmFz)!@W5<_xT(ZE-isE zAhvegjs|sx*fBbIp|u^NLR{p%I%{YF($IkxIiVX=r8P*i7DVtZ{UQ9!oC9!Jv}ro2 z%@>qeYSx%DzbLWqh%9KGgpdb0}VV?y{16jD0CRlMT8nZWdyk zf2z3mvT*}1PewVt5AN&K^y&WK%6xZgC z3zaPO?gpQL@y|CcFE=~wdP+C7TFye=`2@0gJa*9)mJT+7xqH}Qp`zwo7jvs~L{v{{ z=Mm6h(Edgx%%ZqksFuu5o)8o0^hE~m9whn*dWYD@Ck zEEt91IrlSPm2Q{nHa=DO=4JYN>^2B?(-?wKwczutFlHa@E5My-(Jt{#}0qYyS;) literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..baca125cfd10238c3f87725be9f292e0fc993a9b GIT binary patch literal 1683 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 E4}>acvj6}9 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..5d81df8d1ff748dadcb741ceae84a32d6e105ce9 GIT binary patch literal 2351 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 A^8f$< literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a32f87daf4b6f2e399b2cd768bf2a878e2fd86c7 GIT binary patch literal 4223 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..198deded196774f23b188ecf8c2a53cda4d863f8 GIT binary patch literal 4226 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 sWv3fC97aH>K=glWfPW_7e8NC19 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..1849ae73314c38655aed21a68506e3e136810cc8 GIT binary patch literal 2593 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 lo9cg~?YGuGP5?j@0HA@# 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 AGynhq literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..682a042bfb397bd47f18b94e19b3beb0943b5341 GIT binary patch literal 1611 zcma)-Ydq5n0EYj=Na!M$B~y+jD$J#lOQVv*Orj=Roym-r`z|ikatTqBO0Gp4i6ZyZ zWNkKtIS$LcQcW%qT4Urer_T5D`O-J4eEwCq@!XFOb7Rl@-9iSpbLw0Q;1b zK+6@&2&S;B-d62?ODGY>(MwA6)H$?$fXvpi*j_!H`1;)>ZGzCe6r2;Q!}GQ8S>Tz6 zDm|+@NkL^+u$KG>)Q{L)A_*d_7QUKpK1@ZxGCiv@k0Dg1(*w@YcUjfm4lXgTfGz|T zXT{pSR^8Y*pVDnzd7C!nSL(fhp+5U?<^Bt&b=C=S@ol<9Xh@tI~uLxp_ef6 z!6D@d9d8xy^14v4hJ+i<1TKB!603OdM7~IC@AJs4K3CRT9f$*0H-RE+2O_34}-6xea1%w)dKo+Ki=otd+)PIN>oSQ;^WXpgXF zD2xD?L~EE&a5dAuy7w?bOWb!^{jILzv+0rE-!bWDO1CV}%a-zjI^wRhzsf&IjMBz7 zp4_F1)4C2^Pg&E-1;L^fYq`UOe3CTz_uC0h#sfi*_wbxd00^Z8fgi6X40mn@bom-- zzD-62YO);T%46BZe_~E&=^qgoE>w(KIP2ytnz*b3>y-WQJ@b$W#-uvesBk22EdvG7 zZ7+Mmt2%_O{V{=ZS$qPHq-=P{h_jhuSGB^ZwYv##tkLbteQt$A@xS9$Nl) zoeu0=x$Yq?W`r>aHjHvZV#59MxBofmFF`pmY?Ej+=T!@*+icE;u7u0dea7PFn-Ec)1#QhX z2Oym|!8Wqxxwt(zkYnxhM}{$W`rYYLkPNIl6-kPs#CfaY@^mz7q*YL?FRYN}5aX(um+ zA9vT~Y9&tY*dJTHo?;mKs^K$2gj*{WuKJ`=ONDl3=)g15HTtcNfNM8<{mohiTIx({Ow9J|A8?3aSFSDSd3t|P=#LFts_NSCL4ZC(M zXGvP-z(wh{cn$N*_~cX!vlFRsLk*nQZ8GMiQhk(o&+TAVMoI)`n;jEkL1NAl}!G9FDE7$7Vmxv*XJgRPSitA3porutEM+R;}n^ zWwOTG%y$Lq{7V{-suVl+0Uj1V#MHyGWYbM?R!V!!>faj&K^mnOzUC%9NNz4`m^H7N z9HUanNz-S(ZxvliOH5Ff-!9iT<_-M;nyV0Je`y=s$##@D8KeKGPU?7>R-&reYttLq z)DOIAy<=V^K)s0lbbbO|ZorRnbS&uM9aWLf98y5Qe{d(eOuy+b%QaWWw7p;JEIgLCdrl1*BkjZRB0Yru zP;u`}3x7y%?PL3tp9c~ohmiko$^Z2Hzlj6=!v9ge2NJCKYYX~W&z~Iqc^Lrk51zgR AIRF3v literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..5ef0bb8c448c185f7881cf1853441251b5fd4448 GIT binary patch literal 1612 zcma)-YdF&j0LK3dBlm=g(a1G5NkpDCr9v9BV#0>ZFvcjivRNV`B!*^k%cbNJQDiQo zR> zIHYi}x4}Y&`7+2~yH!0t1+8*?@9<@o^5MNtM&mf+^Ax^M=XzjHj0)QmKCsF*3KFlc zxo`zZuWDS!4=Y$5yB69Va%5Ei+i@}sp-o5E(9a;G7Sjk`w{?%yr3aQ7RjI88lw`$Z zeA$$1UPSx?bq%ZkNM$}hEnyZrQFV6tT~-6{XP1g63EF(*y4p3@>w%=l zv0Y=}Om;6)yD2ug(>t%&>e%oz8I|32zP6;M@e`p(Ybr=1TVncRa(?1~B_c0|B9 z*}{b?NbSid6OPV;O_$0VD%fLC)k7c;iQF`J#%Wx$aYeT-$zYmht}P`cjJMAO?xx>z zoU_Eohm;zLM)DcY33unMoIOPTm@-`09=scLg%;ht7NaP(x~8$$L1CnZXH!4&(2s41b5d!S=FlueXN zE42}>$be>)E`8u8slo-U+Tndye+LwPQ^h2h7 z@gd6TFWvlaB_bk6wGW0vK`vK=P|G?|5iSncozv%}VUv}L=3tVvLXlrdYR%QUf_{5T zxHW^@5f+tDxc)S6WOEyl@Mc4kyfTtH-kCKEh;OjYsZto=Lj4Ky#2f$46Gn1EG9?v9 zH)!*q$Z(u0mwuKTGB)-c$*C1@Sc_EF(pc``CC!s8xXhjEqNmz>;xfT<)YlJqmhKZ5d zWspnV&KjfArrcL!wN8A*DlSWZm&(;^K;P5x8^eV#ECw$k^c9j`JSgG`|*UbSOjk2!tu=8f5TDG8pTa{}aI@axa{IX-F!vKY1se0|tl zz**Z#?`p94tXQN+*p~HY{M0z3$~p1J!1vx<)AFjx7putr@V<}=`CeKl?Zj?KRCxW} z{aP)e9WuotTvsLM8K3^Lq?8FPv`MX3ncjZv(v;JbCr24-3)uAC9~&6WJ)D38S@Y=7 zLc&IXdu?l1vQw7DjlNWS+qogrv|O$_zs&Kro0*rL=lR=37RHgKjxWhuy@UQ@Py-{B z%NCIUr8vEyZlp%7v=hK46vt;4`L{ix zf!`hX7^{a=@}8q&Hx=>gHM{XbWMhKL)R)UHOdaO4I%R1mj5mKe?tTP!T)hS%1#XYXAAmW^l#4m{tN*42R;4slK=n! literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..7845c49f6cbe7a36b1ed17e8cd88b0ba4404107f GIT binary patch literal 1350 zcma*nc{tMz00;1&VUBV%IWjrkWh}=W5o+6$<9*d^G(;OYW^$}e)=Ta^avynWTH{$> z3q|B8sjW~sh7L!h!xb61mb`BA>iz$Hp7;Cxd8&?t&&7=uoeladB}0e}er zsEmyBmRpt=d3|pijwx{4XrcPe+Nrq&O|;G+qfyO5r|wgVaA-PViqg79;Z6;*zX`a=Y`Jzt(SA<8^;-d&npI0e zmd$R8R1+aN4O?D#FRm4hSM@|`CB$FH%W&km688SF_b7IhB1f)=zV`YrxY%{^`(-D2kh2Han(*k;$K z$*@ms){|H>3vuoRt91%$N;;Qr3i*CftE`h*%Nz-I?WD9^LHW2ZxalF>-PyUJ>H0g6 zX32uPOGh&}Dmy4y11vGx7LO{vV8Dh~e7PC_=E^#cKT1XjMF$6NEu! zFjv36II{YQSDE?240fW>ZdNv)coI&Mj9oPet0iepB5bW+wpXMeRH7!WY;Di@4~4Yp!{IKKh~h-42PL2!>Z2eUev&5 zd`8($4X`?V zza25X*#yYYeI|aOoW=gDB70Qo(RMjZJf|FSB&kTy!_EBwH>liE7-V_t=q1}f6n#y} z(}%Dc^Zx8`N<4grkhS$BIJtH*kMYg(&flkFA;fA}$C8!+{}|D+K^cBp z-~$|_bo#bM%InoNP8!}f968jw+KF$Phk00k`D`IZ^^c-l+i_cj5VYsU0A;v}m2}vl zdbzOj@G}!_0(SCsZxUBI+Bu|L-_+Ek>!`iB>wyD~QB0q5gmKQfMk%Z7*C z9JL)~!}KfmJ%%64-KwlX(B_0{#WJw0vUIjnx|+``>c({(k2{%UnA2fJ=3Dp;vJh2T z!8Ily@^|j>`!dYr)dnMb96OC;_g*acY~YIkb$)c9?P>IVKRvjnt{EjEv{v{7^!*E- zXzZ&JQ3U4{I}L{~W!hi!oV6_WZa5IgTir&x*0@?W#lcjAm(s^ln~)+K;@MRV&fS?O zoyA7#CRB8J<4=6hf*V!>gpvGj-*$=nH%y6N^MAB+!%BmHeI<5F*xiv`Edk&kYpH8P literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..cdc342f1230e5434b61101d36844d56a5fa5f18d GIT binary patch literal 1350 zcmWIWW@fQxU}E57n4Iz~L|k_b;~W+ShFO9P3@Qu^47vF!nQ57+MY@SOIeNwUIq|6# z1^GoK@rgyr8JT6NdRfK!d7Lb)46zIh4Gavn9UbY$e~b$kUOKnUns?68yiC>oa;?2V zQg-s!i}#8d$#1;Xa{SJV+UKc9e&o!kmpYVSd-3Zb!#wt_8$wEar>@)iBjvhKJ4fo| zKV?uh`bZkx+*PKJyJEm|S zfA{fG<;=JHly9vRQgM70b2LmiCgAMa(=RL6-(zrjd*bA@l?<6C7Q2;BO7?HhXHMQ0 z5xDz8*59fZob6)G>1GRGek*M}b;HZuGPyJR@aGzFm%eKgRxgtCd?;&h>9O5}3CfEiqX~k3aEUdS+=djA2unq5f;8@%Lxv6h~+SEqVM~`(U?h#e_ zbI<$0WO=tV!KR>{tGCN+(wMh>=Z3dumX>VzD0tC5C1lmz8a=U}5&K2CRW`2`Ua;lM zs`fuRe2(QdJM)dMg?!&vEmWu-c3n4x@%a7E&lR4#t^QG-6L#}M$W8&jbCXs)>^dG& z(>1qS$nxu#Dxvr57I#cJIweo}k^H0tv>UEucuX@XS@yAfB z1s|^ln}}~&U8Q>Ws?;N&M+FBKK3|f#XlDr5Y)S;YemXT z%{DP1#;csoe;k>e$0YGHyD6_C*4y=y6Pxp&dmntcEImq}-*m8apYr#3Ov)^WlJ_eQ z6_y`eICJ-m6+NFknzW^hF8_P{A*Za$x$u4YmzK=aC#!R==bTM`JNfOdJ7;*F)JGH> z#)g^v+`pgScBP4sfU0T6l|%D87TE5z3)E2I_xriR;d`x$nx=fu6q)INx+lFjD|l+h zX2!4X#oOZ|Ut8(+YE@ULA8C_S7EesANwF==eP|ojW~Y67k$&8+EizTLzN+DiWozf% z2+vDDRc`%%$36YdH?tXSKYv>BsNs!-r+2;!zo$3HHcoA~kSl!KCd+k;d(GUtTY9&* zS;_XsfVtJtAIhd$dKl?6*B%wg3%$+D4J9Zu?*`=pQ9U7G8gd*d$WyqB??URoX5 zxSOHRAXfgOY}SO=Z>*R83YFS-q-v|orIiNKUz;5zWk1Ynw3j;N_WSmk5Z9O9Eax-k z#Qyu%a;~*WY>ks~Ra>Tpz?IkYQ`fa9hn!K{B6r_M+Ax4UzAHZT`pPectJVm&&0TO) z^VEJHL&kn7*Mb$7eZ$vpT^*+XaLLpa)rTzJY?%Ki^X8L9Yh(fWMBXQXT4_c literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..d4d53a419e0abbee46099180e35742bfc3f6ad82 GIT binary patch literal 1349 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..bb0b279b795c7258fab4810b4e05c9f9cc02a841 GIT binary patch literal 1816 zcmb7__dnYS1IND+V(a8kS84^RSfy6P$#Gg+)mB1m5<=|~#HQCfjjGmas8M^wZZ(L# zB1TX;6jjt}ji)%z{r>#$d_F(CU!TuE@HRIBvmyZ&fDb6ZEL+{T_)_8m0RZ`50RRR7 z0M}a}SPJWiP6u@eD2vw45_{)YAFQ}{ANXa*2vc1UlY{+@`* zQ@$y|Exp*xQ2{yN3~pP0fwo*!*CDV4Vk^-qI$cAb>$EgyN^*a|u)_szYLav-kSO<6 z9b@svq>I^~-4A|7j1r_Dm3QU6&U$Y4Y4 zE?NukKKpJ+h|kPh={+pt(w-2cRWLj94w)Hv=8FtV1P#Dv?gQDMd z`epY$v&hYB7on&XxCrrzZx32Dej{1c+X*#6)Ea&Uj`sKka*~#F`5W|#P&^SgFJ&1RFU+f8IDZ*El zJ4w(;FEkfEf_xrRqYHwL>S!$SLax>%{-)jXTtQH3=O?Y}_Rmyk&SDtp-&3;5$9V$* zT)#mRHCws&W)LO~gQ8*TtoWfVqwRYC)q-u)HhNl-*&AbjaX)GoHLcU8P_n%N*shtku=>Ijas$!H_N$xrRMt`4+I8!P-(sJ7*Jx!^p*JK9+=)!q4SybHvhfd z#5rfWj3ow|riHgNF6m3^_)Xb(UWzdy&C=E$?^*w8V?5upoun%*j4Mh}W>im#FQF87 zYIjj~)ui+5Y9xD+XvpbZ(xTB(i8G&E%C!6l!l1VRf`l5zi!N42)IL6W>-1H{f3JvH zk{Z3=s2&gv(@05fRa*OS|HchNwFI(sZ(+0Q!p#i^zQ8e4+ghQM3HB{}FUS&;JsmZ{ z?5XHBK+=7-WnmrN?;IR{y!U$KE9eD=h(~P-qYi23>M)>C75`m!(|z*!(^VW8dHarD zHnz%hjaV1bQhU$Wvtf5?+%1bWaw`*F2YcK9B*m7;HOdR^Vi1lf(Y?=HEB;74o$2ul z4~&zJ_%^6#pTDya)p6VmF4b>g=9b#L&YhRkSrS4oNb+*=i#M|g4MkdrAKi;%Il_|b zC18iw!jMy%&J@-^!$JvNAID;hpJZnt`M+l{?W#J8JlZ&q%3H^_0({cT=l-L>>;;-a zVJNhQnweL=sjlG!w*?=Sg|5i3npvt4^H9PyA;a=mos*YChW=>dp6#~ncF2Sv1Gb@o z`%05t>d&(e@AubmmU6;~<`aT=gH}+zpT;#xJl)lVwF%XRlD#!t{X`)emUEh$92K=Y4TO$eknIc<#g7|ILOCzR=TolM4zzwWiqm$ zb%4@Bi^-gu2ee=E#6iqt8b-@&BNYIvP%#?^teo~ug%YdRrz`|RpL+j+jzh)1LxQ}B zc1o@zSCuj1jc@B;U1^E>n{N%$cwjDWGG z5)Gw~6Bwn6W{&E_45!Xp%}B3Op7!5?XJ6ys@lJN(JkfX8rk)#pq&C zm6{1O9&xC>vpS&~GQ%S4{j_Xk_=#e!{@9BZo++ z{U%4q7vdE&scNZ$H({8fG~f0SKg_403rnh%*y=-m- kVnKrcx2n!;^=}BE|Kk4;m$?z!nehMsbXL1Fmi@c_0Y%Yaf&c&j literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..96749d0f2658cc2e4ee69dbbff8a320eda6d91d0 GIT binary patch literal 1817 zcmb7_=|9^E0>*!0qV8(hNE1p2Q6*tQ>u5+RMbW_~L|gY!G^7%xZbclUSZ8${b(Ff# z$heO%bgM|+G>$q-)mdUf9c$f zk^rCx0D!lvzw5InWLFBsgXE1=L0w0wpeQ7w{n<$(``SB_o!veBTv47Bk~iN^V89jt z!T~@#HujO~k*ZJr@F4xBQ1+kR9&#O*sR@=a9jOUQ8w4#?I~~=>S`Aro?coqJ!(a>t z?T>86FW%=GYH+@0=~Yb}mkEe@LCjpIY!*x!O8bjJBxSQ~KT4mLv}?wjy}L%5xOWiP>imK?Mu{~qq? zqAqpeqiww)B(jx2Z$w3}7io5c_l-<)L7h!fqiu?-5gRR#770^oO_0VM(fq@eiAJSBs{T zv~7_l)}w(bH?gM3$N$cR%f&3$g4@@u>-&vJdxt=P$|+$Rux?-z`4k*TY*# z9W_`pvjnW{;_LIBw~_=}nu(Tzo8l|5oeWTo<*Lb!&MIL`4tXk9yTh<)fUC+v8VrV8 zQ@j+L-zB{TlY;7W&fDwBDp_%C3LboU)@9oR{n`jUR_ebttRjpu+xXPA<^^48952XA zIjsptPU%X+iK$ETk&R<@AeBNxk*?*{EnjZZ(C2Pxih8~r9j1AJlW4B%yp(>mHp)Mr zOn_o0H_By9#CxaSwD*BeZ!*6WLb0;!cvhzq2`8Snh6js!YeYq2il` zQsXSu!LMO4t08!g7Lq@b)M$(y%BbMLIc;j&di^S|KKFCpwBit6abI63q04@jBbZiT z^Q5Hlot3p>`yW&x&BJ%4rEE}jMYi%C$Gk?DdNrK*1hhRS(8Q4)1ZALJcsZ>{3;CB{ zL|U1U;dbwzC0tZL`DQ0Un1aA93=_7UZxjllFF5s70=dd%nj@1pM2EV$il-5ab+W$) z9>UX-3#XWcp1xtfO2E6CPZdpy9b3d9lw0KMtoW16h}2U-UIBd^J!&+`u*!k)h*#m( zp!L%lcZsmu%4j=GhHmR&aZF(1w$HSxZ@1%kR5Sa(2&5W+<CStkI5Tz3lGYz*P_QD0``n( z=Lv&Pm#gcedgnFP`bWN%@n4qP-EQy_^Kj5{%m3Yrbi5p)147p+k2`eSrLv~es z?`xp%H)Ta4N;6HRRW6LmbV=TWTfH;Nn<{KwU(H+g|2dU7Pu;XS%)wG=ucv?T6d1JB z|LRB-r?LD;gHRZhuUy7MYpngg=fvVVcG~snUW5oT8_Dgi!CBm;w&e)?Skfoy^IGS& z^3{M10ZgG@znXhxAecvjMa|E*g)6{7eCM*WD>4fq3EAI91A*)u#ZP0`cSiG68axlh zj#G?zf~`P*G50ghpZ5~B$i0y+HFM9I-zZg|UD0Z7yOs=T8Dlo7riJDq+28Ha+q>gs zx3%(Q4rca(ccL^Ep42AG;$#d`AtWE|pi%RDhdJ8fKfzGZa<7tMyx;@Tfe&C<)Htg{ zA#1GqPW3^uRk!eOPsOY*lNm~jAt~{~uV;MJa)IvegG-#Y>RaH!mky}3IbX&^qWQ@~ zg<@A74;5#{_~5ZlVdjHo)wgbq30@k8iMA4t-PCxpJ8_Oi*(b3Ym+krsVzaJc5yzOo zu%QcFA|LfMQpqoYvS2|oDsVRq*FtP%1}q}BB1IA`tAT7rTTy_p( z+J<4I*4bKXI7ecS#sVY5wTd171bQ*Yl0PdVY<)n4bbvK@j!&rFHA@c_FCylhc&bgB mn{a`!-2dBEXS(`3;ava4|6wk36Y!bx0D$YPHfJpRd;JF@-&P<1 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..37c80b75b3bd4095b869afd82b8427bd4936f59b GIT binary patch literal 1023 zcmWIWW@fQxU}E57=t_AOGBfz7NGLM{!y!%v1{DSdhJvER^xQ;U13e2p1HIz>ocPp= zg8ZVA_{5^*jLfoBy{zK=JWdu?hFAuM1_lP(j*fKWKgNX%FP+yy zpWN?uHqN~-W;t!I=KEa{MiKTiq|5tRAHELMXN$U@_%<%!x$OHBkzRaO9V*Ffvu|mX z?09)eaDtQL^Mjw#yBXY{NUf6OFEiR3)qK-;dcyW6XU;Nydw1jZ;vActnr6nb&PuIm`i#Q?cP*bW z-{bH;p&+tUggew`?NNW9lNVA~|2)FDLXnfV|E4cIbCgUDeCUFVrmd zrEIXVUO6NG>t1o;g2EHmjpi+T@ZoJ(%8c$KTsL!^q`X#LG}W+kI<5Ya>-CbI4J_aD zFHaFMX0dXYoRnu`)^o+uFs!nF=9QL{@PTBL5ok!UfUNf=2_`dW0 zE^nbS*(GP33Zf)}Zwgz6t(kc3SL^A%gHHe7RtS^@cr!BDGvm&fz`O|t4U8a)m~0y0 U&B_K+%Ls%)Kzcebn=>!~0Kj+4)Bpeg literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..60fcc04d0d95799c5dc9a53654466c41ad8a575a GIT binary patch literal 1022 zcmWIWW@fQxU}E57=t_AOa@T}=MF=wk!y!%v1{DSdhJvER^xQ;U13e2p1HIz>ocPp= zg8ZVA_{5^*jLfoBy{zK=JWdu?hFAuM1_lP(j*fKWKgNX%FP+5dfZrZa1nbLC7~`Q>-4^^V0J5Aw@>yK8@K5os1Ud!o-Q#jp37CwdxW)o=1ju(2yux9gYAPVo~|DOI?8 za=F9O$ndFGOq=|)x#mQ1F|K@RqWf^|>9kanutI+CFRLEz(8ytWRsTnM{hYZ@^0O}; z;^OQ|>2ADuNHkI9mW4M2YD>8d(Gjlk$iX==m^0{)HD{7@o;^J8S zxV?Oz?Av^+g%|uSdz6+?%@-UpZ|{DN_r7$KY1r!esyD!gb3{EX+@p4j+CM z>9Xf~xyTgtM62(0r&6xZxyf9xDB|mx$wsOSM~_@t@#JOhvT328cOU!fr~a$WG-CU` zcqYz5o862dj%+EDZCNr_m@!4%-E^I6hsw9`Cl6+1eLdMc!LUE;*z;Lmy}z0@*!jfh z_NHHbwJvYo!DC_CHWRXzygcn$yY_{M*U=y447uwx@3{CIhwYj2+)W|Pd)E>7ApaEk z+wVeGN=q1(zT5f4SU3FA(*@lgm5!VRvy9)D`YJ6*Zzx{FIC0IZif1-2>J1-0J{gt4 zyrI_DE8aPZE7onp>80h|-5gc#1KJe-o%y)_-NCt{DWZIzb3bmF<+ocPp= zg8ZVA_{5^*jLfoBy{zK=JWdu?hFAuM1_lP(j*fKWKgNX%FP+^Ydw9gto-hHj*?r} zlVhFVu^tQ0^t>-EZZ#w6taI)s{~LyU;nMd$9|$+tb$43-rPN7|W%;+#jV|@)o~%sy zZ(nHDxT&Rc=_*Ik*0YClzExYr5rP=4aOzV@J2ev(~*m%ZrZa{|d zCHdbk7i2l#{u3g?v;8OQmoq{f>NlS?MZ26aeXYxT{^cUub(c(zRegP{`be@bu$B8{ zz`lyh>1F3^yr(Dkx7`q*mEro7rPZm>&1L2r(}|p#5vF z?nZxupH9hFS9dy8N!Cy5WtCIg^j$K1E8CgV&fczH<)`+UcP3eHt>xbndwuB|)NbWp2?_KEI%+mi~=Q6Yecr!BDGvm&dz?=yN4U8a)m`obr&B_K+ Q%Ls%)Kzb@LlQS>?03hhc>Hq)$ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..1582a59548ffa3e45377ace039ef2ba431777e37 GIT binary patch literal 1961 zcmajgc|6mN0|)SLu02ab))abB%`wL?J-p_TxmGPlvow;D$6Pb#Sfn{Cw?@Vs>vD|9 zqueDu4fB+nIk()TqQjNjujlvw^Ljp?KR*9_{(s}GMa3|H2p|P8NplY0nG#_j5CC8l z0YC)+fWT0yw~iZyf}{peTs^`91A;?b-Gbe{eP|v?GBv;-EG7H6 z5Ms-$Xjmr=DL4A2O-jY2pu0uFVH?7*?vo>p0D`qMD!0hZuUQ6v)@UlRVN~t=)?OoV zcsg~w!VEg<+AM7xZ`XD6liiX}e_v@xRySd=H2eY`HLttI+|+5-5I?qfyVm5dH}%0e zV`UEWrzT_NEuM4~bz9e)UG3Ex`DksZ3S@$Y4_?pIO4jh?rDC4wbYXD8T(zd(37Zu; z2K*>__SYL*LupgZ!^-M~N%unXN=zm_3$&Op`*R>rnfQ7=k`xQitvl0GirY?*!Lt5b zaj|UMi@4HlOjJ7p(iQ7ZCYkxsI^OSQg-6~L5ISSqBedjl1#>yc%YsWi*9ZHuUWTio zdoA=jClpup%=+)n(h9bCUWH#KdX7VKQE;Pmm*B(v{_o$V9+{@GzqVzjn~Q?7wuVtD z!JU5jO3wvzQoGHNxo3@rh&pa5`S?a`0{mozY+@qxJp9#Mf+}>VgApt-_z2?^S-uix zw+pj$ijlE5KK*@N#zC2jqjpLjd?i{nsj%}|Tmf9|Q=YTfwj~0i=p0CNs7yzEuaH>jBB>aFsG609k}LGRE4fTQsLRM zDb&*l26O)pZ7T$6W6ev2mUM%UQ@t##$-I=hlo$pTLq&&joYt?(QXu2_ zl3T_62(Wx%Guw7xni2)AC*OkCikvFUg}eLJ`k} zxVKqxo{FOghghsOUU#Bx=~pupUdk!PHZ>!gU39!jr{LE+>_pQ7hc=<=+_YiRLTyCd z844RE=I9A$6Ti`O*h-cD=K}N>YpZ*ntM#>yp_A%V_wM3szJFEv@PAlMGW*6&^ zwz1^HICQ2fV{#l?D6o+{nr~jr&2d3o_hni=ld=dECusHUp$s?6l@4Z zeK0fH|0*Eb?B>i}BC@-8)Wd!=z-T;|mapqH5MJ_manJYi4S{Xoc%b>q1(ch$IGpEU8Jf+-yp zpL7xs69S*TmSl2F;3iEw{mo!IueK_;`u2nH307D(OE-;jFY$Dj z>d{zJ#cHHBsVY7VIiHNXh7)Bx^y;8(>-+^GM+}=6Gy$G<)WJqZIl7QJCnn20 z)!i)=S*r;mAY$15Peum;F$#*)haKiAJCB9aEH=YSe8-oTFKCrcsvAb0LvuIGp zJ?~=;6I(|5dJAL5D6B}?3}s-JEPu#(XFU!I`6Hbq%!TmUn;MVpxA(%D@&{ZSR2JHL zREGO{A%{vhHy*si6U=7~2r)c7{2R?~%v*&xQdAte%YqN{w*)5V6fGV>CnLO0XPF(l zX#IM)3caL;Y{6mf^}O3LF#ZslE^kDP#AP9~KP}b7Pt!J?vbM?aid`2S@YtZy2lH*R zC~tw09ij09Bc6Asp!kv_O-w5x`N;F9ie(rN0<@h*2#>#d)6a%A!l21NoXI(WVOga& zL~3*lXma})j)yTkJHJX3sTPh&1}MpNn_k}w*a9xHix1~!|He87rB-=Yz6>3TjUw!T z$pk~L^x2ETCH;S*_x&^fg(}`!T;iYKzMr-Gx!9i|1Hk_Pv3I2& literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a6c6125c174717471bb46dbe206277ffcb787152 GIT binary patch literal 1963 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..6416b40fcfa9d2eda1ca0697a57a69cbd0514fd1 GIT binary patch literal 3063 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..80f7e0ea8c5fc7321e31177e8747da1aa36125bc GIT binary patch literal 3064 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 H4*>oHURBUV literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c7d44dedc5bc204ec5aa41ccb3cae45e4a9b8fa4 GIT binary patch literal 2551 zcma*p`9Bj50|)TAk7|oB=Gb!PnwTL+ZnC9VC^6^A&E_UI`<8RAV&W0v>&#tZt|H1& za^F`ObLR^2?fd-xyk5`e^TX$t&mZtMK{GIF0_Xui02%kg%z;|Ccb5$SFw+14L;wJQ zucNn*lk9ak5`G=->+NCd6y)Pg@UyiiIJ&q7IKka~y}j5NnE+S-AQAx3c=F^C;uL{@ zIW*9ycIiczm#bKtP+SrQauYh{OW{#~)=b8JoTi4YIDI(s$clh;+G%{<@09mqX{a{y zGtR7PI>L>~7-|xRMF|>^R_ivo&FLt4N?}g#Bx*?g-gSMzJQ@8~lkg!s>Ff zvaL`a1=x-)x8bSoEO;hS*o+vaA=QR&+|)j`?>JE4P++gsr8>&f@Y=(y0vb2uC1YhR z9FCTG`*9UEtHPOz73>zg))QORiN%$*@753di!BYrXDvs~@hl#Q0*U8*$W{c1?5({H zl8@J^4hYK+d_DPNgczD8!+*bgCi}rCWcMdDL!Nrfm+z~*blWUJu`t2*&?ETep#4b2*}T%zKHh8-P##nL|?IJiLgp^;z;$0CXEO01c)50pxHwCq;OSh!o z%&?QmVWRFg(ty<$e~xJs4b)ON38lSvP6V6N16DkYMAw)zG)sB=e4{3o1KMu5e*)EQ z&g`WjLHUR2R>oq5xGkZ#~kA`Ugw9Y zC_{T%T)yxgUwb+~T~lLJ!sA9nwB6CJ(fIXpjt>$m?;-oG$*LPMRr;UjLGXLQ%2GSi z(&@!{i6eImMvhaD-f?Z>Sm2sg!6k;?=;ES7%Ok3d(2uNv*{G);=zSj0VoKpPEJUh{ z6Y8HGYf7JfDv!e<;L_ij5?JM4!J+4F*}8V-I{@1UlW|_LZyIFU;~M9=khe&`*)L zIEpeha57e!bU)$k;%+j*zBL~w^E+&rNqDDLq)c+5%?uW5KH2~Wy>X*B(*blHkY$oO4dW#x~$EcmxQBgTpp=!HPOn$7)Fm*tT}6M-A1pS@GIzlJNbeG zVW_M=!yn&Idt)BRwg;~PyzhHzf)p}K|3V@>q+J-nB&07wl%-V%(kmPF6o`* zA{(84Ey%zbuf{5bV3tB~0bpw`QN798k>nzej%z)oS!%&^O-q;CX|O(<(R}rGGr^`r z2md-$wFdYZW;C~D2q@6^QAe`tgG?^BitFB)tm-_=069S)Aj#2!g*P)#Dz{GCC2KE9&mq_9!s?q@^pXiyFM{i>^*ieg-Mc4PaLJ3- zzdcmt&#-&Ao!b)am05~?rNFgRwfWM1RD5FT=ci%mHFha95zDsLdb~C64d>(nVfB)oxLJH zE9sLLcGe`KYbnybd5W808#wM1ujENJeK#!gd5`q!6Q6DHETpnOzG<^=Pf>g7shdam;7^ z!1)WaM_TlgDqwsY$j{74Qsr1#_=F~zI|$794<+1l@jybtaX$M|`6jOCp)sk}CVpix zD15=pFq<5z=rwl4LO}cRky3xjlWA)`)<1@M3Fd<@N3k#x#K#25b^4Q<~(PCpuxqaYo63O5XAp~;K9!{YPTFX$*Pg?ydRJzf zxOBt~_Hn&?WP-#-b6d<8%#~lrDiAovL-`y}IXCJagYIYPlL{Y1u;%Laeo-#+g@}Z8 z+UObUE=tkQyg8TSMG+e|_>swS%2rcngyU6mcMn?-of@lQmM`XAd2saG?>uI|IfZ{e zplU6NgSn!rNZnl2&^w+xMpaNg0Wpb1UMJwk9Nuc*reHq*9{&QJQoV$ff!>igO8#rH zxG2PZj8o&PJMpi0)ZAp6Z6&Ov~5N+DqX{>e{BJ_nmXz027;$W~x zcv37X|7*F(dGrr@fC-w8UX$T}i|h}|{+md;f9L=3nF*SS`QIzupPK$z(jVRd0RI39 C@W)^P literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..949a82255a8e58c039682d4201ad4afdcf27c1c1 GIT binary patch literal 2555 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 Ii3b4x0V9*swEzGB literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..cf71c5cec22c1fc60e449f2d67afd112589b972c GIT binary patch literal 1425 zcma)+c{tMz0LOo{X+0syu^giuMcM179OWuAB4!CCjNDtUB+N0&5ppZXln7(x8fH!I zcZl)kXwG7Wyya-h)m!iX@AJIh?;oG%`#j&jKQ_n%pbG#mAP6L5*r*3vY{Vi6063xm zAP)dQP;g*~d$5WsTpO+m55oGnc!c4wfx#}Wf$m=3p&oFbAZ)-P5E!@t0MP(o@bKYn zja`j9CByF;^#lsK0=yOIu=q!|5{5EkK{PRSnb#i(J(HZsMUT$!etCF__FD$bZ|!OU z2OD0Yf~~S^n!jTva4EfISD49RMi%*9#J)l%x3t28n$KIsh1_N6V98Nm?XE9{=h2qC zXRHl4zE;PltM*%@wT4i6UUqfMEA)kIV7+!!ZkZYy=_g{&7}%2XltItzjomx(cqx+X zb0Hd6pXArd`#O^ZIykdC=pa*izU3lLoc6p@Edw4E9HA_FrJ&ec+dnNR1gP8e5b~6F zKdc<8eyDhz!*RLbG}2W=a5ifcA+)Isz2omWn_NH3J+k8w)UMSuo3eIRdhy^- zU9X1K>7ngxo$xNmFd7vKAY?>L>iFau(k-V8mx}wQh&R)WQBpOv31N8OrV0O}m{Wy! zkkz%qo3{^Rb*o7Z>cr-PObEht3R}BGCF_oygWvi~?ISo4Y}T(LL2&Vx%lNyANDDVw zc3ZNh<`b|ZFli!2-BNNPQHp{LixlKPe`xK8HJy~Je~IsniNds|O@B(U@G9YQ+j=t_ zbmIA_*_5WObkbBUmE9YV)4674dYGH<%g}kYK^pJVP`VtmB072}o%9nr7s9es-#^RR z;SejSn92Q7pTyS%hqZ_Jq0I_giHK=xtR8nA)EMP|_0) zy*@$;E@FSB!9j^u<7#zt3-cJ!oqX@OL~Nd4Lsp_(p~8nx6XALwl-N^9%*QoHQ^)S| zv0P;p9$oFLi3d)my)7@{8cjs^7qRLKY~~m%oh>t)%fkKuZ70M(+lZZl zHtIRvI3~x(K9fmg`Ps*rrmENvjiJ*adS_=;6+f;jo1Y%IRHh>#q?X}B1(x2Em;CD! zIcO0u*k>=viQys^&}%aPq`rbXD_=pUj1cS4?hu?H0>6n9@P?xLYAl3SIXUJ$X#OJ? z!LBj=9W##{qtVQ{%Tbj#B9z1;KewjN;%D!^NtM+o%oCyT?~^49bp`vC1f0E}>(}R0 zeDU557)t9%E)6QiGQIIhh~g~6x!BZW-K6uh-gAsEf}L~WC591=XeewxAzW&2MH9*Q zqChbv)ub_;?mYh0P{p0RAbDN5BRHi8`B2dy{$`zPm2*~hOrDFdY^Ti+RzBkKsqvK} z_i5Bcg`Lf}(|KErr}Iem-c{M%{hBfw0Z(ZSOS8#mY#}5ink~>LK+Uw?VvgW0RJ&u; zZqd*f-u(x;=lWuRV2j@UjnO)zV+FgzZb!sxdP*+gQ-X@j<^~`5zsx1i5A&1T_y;WC zGp5A_Cj6j~h0`Ul(s&Zj=hYAwy$|HU?Q)7yRq6)IIc@-QQZ-`IBO2n;FgxUL)vlm| z(Ir(6dL3=4m+v7!AvmW~c;ip<$TPbylNKzjw|=q*U%+gTJiHeU{I@E9+4A2+^ZdsD V5vL6j%=i1t^Q*SMs09AK{sF>)sSE%B literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..55eda1a92e2fc64dce389de1e73aa3ee4e380180 GIT binary patch literal 1419 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..782b152faa1334bf7d5e45fa7814f2a37f93e736 GIT binary patch literal 888 zcmWIWW@fQxU}E57=uLSRB5;;Z`vMaKgCGY3gE9jHLrF$aez~rJo~fRJUU7a-d}>8O zeo;w$Vo`ENW?8CUR&jnFCkrb>ECWLW1A}cxN4oJJvsM~xmoz--c_3! zvmcr*o)q-u0f$!GUYS^)=`&?N#Y|OInd$j7wNg9h>V?o-9c$o`{{ca{u9{mOP;k_rE=MU^~+lyMk5=9nnqczot8j25#W- z>z~}sb+=ELg+n%9um9|4*Q@$7LwsIDai9JeE6ud}W261l>x`)veKG`&H5p#$5y+c! zCOBfjw#j9lu_u~VtV%14bn~cl%h{xJes}+|xupjK{-kcS-S%;l!S7|QftQv~2)dK^ zd2zwYr$6#%J-U5*%TeFc_Ey&>{kV56ZH~K-U)7ApSDrWD`UzahS@~sU?#IG&+s=D_ zx6$YM`R~S_f1i&iPk0lwh5M3}dEu6f3-{wQM1!7}_}@(l|EjZfWtR?zGTV;@d1s3( z1qI5DW?FrJ{61~PS^?z`mEvmO)Pg$~{4u^ZYp=FI&-2NZD+215PBAF@UEk(-cYA@} zn~U6!>~F32ekkyyL^3VkY_s_OfE7P){t#Gu?!?54jA2y`9T|1Me`Y$#MV?`uxTks3 z!Fei6J_*kIJK5tVze(s_hpky%{%6r|^uF&Gy+dTs@EOJos#R z?4wSmlwgNjk5%{G^AlX6Zp5|VLtXnmt~)Y@jekVCrl_P=nMp2^TNV(spyAA%EoO~7 z1V8)iX46eJu{NzLZ91J8J;j?fBKvOA?hT)#W^Y?s&~xk73iA_B?lKB`|NLAL6X4Cr jWY3H{O8|2P7&I_~C?YaQfHx}}NGT%_1_Eh8W)KemLdcV} literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..69ebe019b51db5cc28268093c1dfda2e075e20f8 GIT binary patch literal 888 zcmWIWW@fQxU}E57=uLSRvL^Cr%LOI|20;!624w~YhLVh;{Bm6bJySgcz2f|w_|%Gm z{GyWh#G>Sk%(7Iytm6DUP8L>%SO$g$1_s-Xj&$Qc#)S(no!e&3JLhO#rs{sV*4`i~ zJNfIyd&P|8H{NPFe&ue5^GHBe*0QI^?Vr^)UjW)MdNCRtf*w_FG)|4>fg`R z9{zg5d)hbcZ-ejgV=Zf@9=(Ab@Q-2mV9Zpklrfc`=|PD zImN05Zu!3VPs*d8Q7iHo-Y^J9wJ|nWcypY4|7YL5zX$ma1#bw64mrxUH*DcH_g9C- z7&72b-T|P50aG^EgJ_rZq5Rn(3xbg%0`m|AJ)T&nW?5WnGugWoed<<2yCCh~kROkwu)7&K!LyIxU{xFZ_K$m zL+dT4W@jE_+womi((dKF67RM}J3gg;Sn5gV0FSYLCi%nCx4`2KLb-_{T0B=Sn iduH5O0+=hnpn(xY5s^Uxyjj^mN*RGL5J(F$gLnWON{(#+ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..19b0b183a5763777a628d302c2a9cd458ac1fac3 GIT binary patch literal 890 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 F{0YF8>m>jH literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..7900e8f7cd1bd0d41b89427d42d4002bce480af1 GIT binary patch literal 1617 zcma)-Z9LP90>}R|GeV9$(I(Qcmw3im0wq$V^!yN7$a8K53GAf`P3@qhDKb zo8H~(mw{{fjd2k;QQwq@LDtaeos$J;DOOjKyjJ%yOq!JOrZZC%7j?yErbp@s9ikUi&H{SD%oX?JVd3rS2t*#L2fT3oqfxO} z8|jssZ1y1v^j`cXXDekaJE>#6@H?KhHDRB)C0}0OYO$&2+d7bY$&kvV1%As8G$6~{ z=dGBI<&BThJ8#;lhOlg4vA1JPhmR4)Ewz97=jb0WEcEHqK>=J(3&r`(t?H_r%Vn#L zoi71}=#Ng|y>%tf+Bi3zrO4*7`T^)&{Sl$jXVW4bmIix${dINXPB^3hkOygUYMP%0 z&#fX7UiN8fH?CL`NRo7Icz*HxNF(yJHGiCGUqLJ9^&ToK+@lc7Ggx6|Fzlu#p9@v& z`l{48N-OL=tG~prEQJM~CZ%wms|ru%!enp$A{$j>j&zj|i?KS5aL-+h3@2V;gR+E@ zCC%{V#dm<5$ou^Djb-PEHj)FdQMu_kSbh^8Ny5ImV9!hUu6RkM?h`*RxKp2XGmrg{ z+){?j^m|Zch)}V*uKaH1z;vWt_TX`YcWhv&<8t?rOQWp~^lzewkC180qrIRmY)PGD z?`-Hj^esb1@~JucCzPC-`L93b(;f@tkUHl{zgZS z=@4(Ue5&CJu|B(Tr+Pwr5fPtv}JqLYl&{xiV IJq`f)57E5*od5s; literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..417dd85a6ee5bb9315c871a8270273851461d961 GIT binary patch literal 1617 zcma)-Ydq5n1IPa}llquA?qal#`?C?nDUoZj&~nM;kTBUYTcd|qt+_^xoiiM=xfEHh zNs7p&#(7`OqPUm_5d_K?b_u~8J_xk%op8zW#1(X1Fpd2F#eyT6T z-GTrB#s~l`006j1ynw*Rr^e$Ec1S1W0b~jhA02<`0x|hwbWCy_7MB{2JfA`&>{NyT zQ2;;%0GIsy1c$EUQf z!u1nP4jdePnUFlcc^u=U??*>Tk41;A2}&~7<*1X<4EOm=Lb=jsnH|xVgic%a#{H{$ zoiRG!oJJ8hDkXZgIo+XqbZo1$r-qr!=$UU_)hboEP=z6>JtWbV9CBtLX7C*&a<;X# zS1`lt>ri&B%yd7Ob4c?qslD2E-on)|Haqut;nHi6Lo=1h#cts2t=1u#m~L-&G2K-K=4Wqm69XjoUky|+*$MzHl4e2rl-4w6y}BH?<3Kzp zipmoRqBS4;-!;*Sn}wKK2*>N2K)bQE(~O`61Dm1RuZp-e9oFUi>py?`0DC}6jx~hI z(3+Pr->wB&(vzQRtvGqZHb5mP+2?ePQ(R*)kCec#YB>BZd265rRMrdjlX zl2&Ix5JuwSEknnHG)}h*Bh1eeie7T!tkN{0#l44Se}m^vkX!!n%7C~{h$&Z|=Xj1# zkD45^esMl@iAHM^IKe$$sXdx$>@m@wTwX@rQ5OH|GG;wzrfl0+#=UOJ2=~FoE~m%c z>(af{2c2oYo51h(34YbOp|)orK}B*0=A9Fr>7R9 zJD>9%U_%3`yBl>Zj+Kfsn%kRy$U4}Y_N(nLuG{;%x~YK?o;Ey2R=rY`EmCK&Z$7ZV zJ-)k^t<&Rp+vf<*+js{~+p@n?#83`9)cPd8 zw~d*Zu4@_vnau@Sb>YI9yyr~FY3ZNNuFTkAw}tL_U1-l+heY#(` zr)x&I6_b=3h+o!2(kTilCMo@QR(;H-+hEwlcMyJnTPQ-Jc=73hCySh0FJ_oCP6s zhFajd4~rZ+T3U{^q!u8(4R;zCFM3+MsdO*X!#^*I_~yWOK1crI>&eppSjwDt$Trna zs=4NG-R=qdBjI)B$b%+4S1dMBiB;G^P=2sMY{jFH_nd)x1Er3tJE?x~`x%%H-Og~y z0q`5}ZgNDZ-a4yZqlc~uacj!q5k+gJH7Z8vWs8rMiOAw6V6!B%!BJS8f(kh_4M zi~3U9c0PrTh;eD(QSn%~rD~P2vM{OMG&$>9?ijXqa5HG>*^jzq0NV$a`%q!U`AqG> z&Al&m!Wmi1uXmYCcQLM!;YFClI4E6wvdF?UTM*Gn5s!|SB+ez}@)74=(A`k*v zxmmZWdp~ij%O3Yvf5b@KBu^c#pCDUNXshU~ENBUXdx6CkCd;Q#IU@2dZAsGxuFe_9`X0;2NI9Q3^*-zoZj H902e)jw%D| literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..e8e2147cd7b8ba4c1aec12d71c686e22db7268aa GIT binary patch literal 2839 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 QMfa<2zgYE4e*u9102b;-2mk;8 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..73779b9a07dedc438ff3d1be9722d144bc95d18e GIT binary patch literal 2837 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 CxrLSh literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..8d24a1e6658b7ee3664e00abe2f74f90e321fc8a GIT binary patch literal 2407 zcmb7`X*kr20>=OLIL1;TW0|st!5Cpo$exldrV_@!@1$fejs0Xf#wf)gE>5-~#>h6r zL}aNU`_dqcEn;k^bHCpY_kBP7p67j@_xsQCCJU=BzzpyJ7&n^DMH$Q%{tN(!Tm}GD z006=QgP?xy;qHD=Z~vgckT9r=cPLavNka*y6dLG1l04x@@L>G#z&j);zdOKNx=s99x;0n_LJfT{s0yk5me4b~9KGb;weN?E z1$R1W5AAls0yr9KY{G8kR1x>xTC&*({CBu|-SptF4W1`Spbt1oLZ#F(Z8jo(#x1ot zv%PPxJ1`4^%4`@-&eSj>{E!+~MFpb{hc=gGVtR2%v#lpO1l=JXyEP@pN%~O}XC`Lj zu)5gfrXcE+t?b-i5INtTiEaVQd2Yi9xydWo>DfPveLbRMndZ%-yE~~Y%g1jLOyZtW zMQejOQOGr&*qQP1O7RSr9CC~2g4CBUT(QH3jblRRyStP6oBXf+u!%Hhz8V@3D)UZ( z$%lUi+4wC~K$L8)rI|}Lf<2qI8lO=6u!*CQPOhgi^a#5&uy{Wsut2OAT6x6#kPCi{{&XWJ|VnSvWRhKX)F+ zpS^Vm!2jblfvbtZx-NeAR$!6Hi1c|F9m{AcJ%XxoqjA#(YoHm;<>cMBf^ih>26uZoG1q{gUQCr0vrHfSysT%x(lo*o|pX z$(kFEg;JgU-M7~5(*dwVSp-)ik=$jBk~CgYHpjZFMF-~bsVnZbWv-1}zpJ-3z)E?w zAGa9o%0wbLhY(j?to^plZaBeXc$B|?Ht5HjLXowtN4x&>eA1EX&tI_K(xJ zE+SD)16wD>?PtC2JXDJ^c)9UC+udq{AI@<(Ah}2f^aZk*G5z{Bdz$3ysQMvNnPg+? zhXzh2Mz?fvQNv%DaEb&mCjL zd`HH$Q(Z=TehB7iO}?+nrQ~Suin8Xs^s|Xo>^0-cvh-L={px1JuTg`iy+%9uL~nhS zJ!s@Qd0&%v;Xy7`T3$^x&p~EbS@D$KH-kRtvK~fyl81z8ial1}AJAE5tM0%=BL$ZG zS>Gcfw5=p?gQ4Lhrq~8H1+orrh7o(VEq-0%xn89s*lIXPP_OoE9Z`F5<*GZ#) zx%vX6KPSF;8+LuqLU&O3v44k_3mtXIb`>O?!(Cs(B3sja`=L{c@E=nRg}Vr~R5^KR zaS4i#nc$7*=hr!A7z~WP3Zz8GG+s#(8KzIZUUtU9!_B^n`_HF~I9BtPVRNsPHHdrG zBOVf5$-0qNp|DOe*Rm@FUaE(xzD}rWs^Rsz|D5I6RAgqo#jdnd{i-u;a4t_W&J{^lGiUj_j)u-QO@_$m2_8Q1 zEf~F_ajG-H3!RqQKU01alb|U#v(?B$TqJtPf<*fexnj5%Umr3fllrO~QwVt0Z~0d> zRI}5%dpo!Si~`d2v*s3oL&`O zWAIIFXsf(#o*YXfbaXf47Z|`;ca@D7hqf=YF|;U}mzm zojzd?TdZJ&e09*tb_e~nE6~}#^#SB@*I=W(4M7Z6k!{s_G^4AWm+_T=fcRc3#WBPC z+23d>Dq!>D*Xb6t(!3Yd)n`28#Pn0=n@zf#S={^X1S>Hy3G@IEbY~V7+gr`n--()ERp9;?!N~!3|Wl?WKFSXh6#|=-%1*H^FHHB{Kv=)%E|E>qI z*(|Gsmk5OV6&%>!+O~6NuospfyJl#ZCwxI<(o%dVb8@9HLKsP3VvpWhCT z_X1z3odl)SAV&a0gn+nFbGQ>r=Q#|Mvs;f;su;w0_A;E=f90x3hr&z z#uQtG*PT4+Mx!H^q$}snB32%`Eq%9RrH-K$dH1!vgnp?2BVoNj{&IV`1b`sv;OIqT zV%wmy!?4!1LD(oa`Pt9*`d?P`y{}Z|A1iDixf|M= z^raNc=pXJ7Sy zQk(kp8hLWaUuA81lZjcE<$o*BZ|nJQ;+X!$|1Ut6H`&<#eKP&7({FD5)+qq^2mIED A9{>OV literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..48a253f3d491155370efbc1a5e804ed1944024ca GIT binary patch literal 2410 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 G0RI78_<@fA literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..0070f96c4b17a768a3f5f2b69276ca20314bbc42 GIT binary patch literal 2277 zcmbW3c{me{1IIVS+))xnhDK^b&eWXawO4X1$<>5mXj|?%B1v<+t~nBtmE0lZK61?U zQf|sEN6eAiT)+DL|NH0n{r>TJp6~N~|Nod6GP7s`m;gKgvg5*Cw`X&qLLdNud>H^x z1^@tF1R~5G>w|TN;jx}xSVtJ{5s~2G1(S!X!WH121a}P9@6UjF=;7dk^TEPhJqdVr zmNNib03ZYaK#z7Kug|&|_1ubG* z_uXFx3pd*#`gWQX@N5+&cfE{~K2+~J)=^k{A8m1TIBFLPM6D-#Ht}tZ-FoCJXvDe^ zWF?z3$X{n|iyEg?s`s~{lfv%Aj?VU~CYO8E6g738$8S3{Qyd==!X zr>xSm;DvE}14znmIjLit+Eo?|-GSrm*opfsMp zJgT4!zL4t3o^z3IZ~oL@^v=z4t8G0`WkJq4yT-qU;a#gH-~@f3uV!~p_YNUUll>3{j@id0;W?} z(4w~|D`i$+bGHA`@SXE;PZrvb)|S~DRl8b;&~vsd2=rIf;2@Wq9wk%`&nf_47*^jA zGEP8Ct*J^kcgZDrj9xai30*4&<3H=n5PBMg6MycxKyy%}QglS5T@glRKia}9zLGK+ z@j8h5ZbzjKvCvLA-$I8E(>;2cBYLJ@Hbsf;Z8%K51(pYlJrleRbZS(wt_)Ki8 zm63@wO%}~9=c-6_R85k#J6pUy&>Siv>&No_F4?vB7}DAg-TmZ{5LtFcE4pGtUYEsq z#u>X>9s@^|W*vJJF{UwbH6SOWJBiMuBOE(O^3RiPp zDPGQE@b#*=&$H$0>LZfx1;Y%8)1iHR8y>w7I8LM9~sl`+$*;$<{V&K|_)#W`Web%*M zDb*IEWIeQabX4%YjN|?g0o5@vbOd)XYB(cmfF=4|;QcE;`lMBD#+p|RzhpL={bwY$ z)xtU!<9f|DzeeP2hw8%^10;w}qiUaHPUD21wzp)~B&HPl6ddk0{QP_|P~RKZIKOeL zWH#TYWd3pehu8`yD#W&&`%r&CWq@QFamb7QmPV)*gif9ShgY7O^cx);o>)>GGo}!c zVPqCghNYCjy;lwDG@sKf`MnJPAXKBM=mEOSAu@O9D%%ujdwvj#x7_t1TfsQ8LS(|y z1UN(*YoL42%;cT~1PZ%KH2KsQumCRbiB%w>y8~`s?C2-tFj+)vK=(BEz@DR94Dr1W@{t3m%01j7(EZj z8_(`C4<(O9lt}oVOn=-Fc)>f=s*yY6?bgq(C5xL+0(xel7qa&j3yI?swDV#2tDrFt z8a?V6a+2?D61InCsX( zIh+0thFj6x;-E{rAsfh3Vz1dcrF)J0UEBk`@v+O{lXkCaX33JSTKf&^ zt;UC+(Wg^K3O%%{U5eVOdqIULkK&knwpNaqQ((0HHxmZKp^W5;8=fN1UlM6H#SB;F zc}#oHCMS)V?pIp-wcyv0nR)mN#-mVm9+B8KUFDCtMApNyF`cB^>KUcn&W|@_Dp6}+ zFW)Pe6d4(iOdDAId+x7auVU4H=xeqpKTbWAOP#o0fs$UhEqg|f!{Iz3MtsOp)=PXj z4sy1#&x(U4K3q|>shGouP`Qdr3k&SyEIÉilZ4x@$h!!|SbUBsAJx#m`qGgr<`?xRtX zBUf^hWUlby%ZPbakV>`rQ80zu|1Tj6%# z;!$3zJn5>(0)kTo~dxb@+$G`_TmcE|cA@Rf5RELv0k zN&P1Zc<{tEan3b`m`b5kA5Nh8VZZ&@<90*!K8MKhUt`$UIO5pa9S`9adz;ULmW#+m27tH&7%?z|uJllcUdLfdz_<8%rFD10$guK|J@BNfH+3^lZ9L z8qPN&i8br05bjPGX;!aVNc89|PsoN%AhTKDi+@q-M@~2OpF)daW9r=>mJii$M@Rb5 z%LjIkH4%g3QC-tVD@K9Hf3Iu{;>%-2S!y7|_Ib_~@!F6=e1S(ZgD!qx2Zv=LyMY@9 zJb2h&dX6w&p;6)5x5HiX>z~Ipx%qw16FOG#)MXdPa$%y=n>_eNwM$&1Z(-k$)5O zh`eR%BJy`{Y@knPfwoz20!<##Xzck)7k`tT)j^Xi!yPf2af>Mm&L=1H7U-U&n|geT z^{55{2^y&fiGK4#6&{ga8xz-MgLih0v<(>M`|Vi?;SoQ2*`muMPa1$WyB*g0@TM|>h14UrH%X+3&s zCs*xGQ{LDu0dnyyAHzmSCySYO=XrjL$eso+-D74?meKc&k!-XcjfHJBq8NLaXSj|_ zRa!?ao)ap%mcU!XV?knB-?)n=^Od^?C^chEhmn0cExHDH^Y3kgZLJEDvRx61r0>{g}kCQCn1paLb( zCHSVR4`SLm+y`$LR+Dx1c=avy(wMQrf$eOIDdUNJ>b;6{dr>5_9?Cf}U5gDt8|jn| zvx}Gz>eIt@z2hg)wuhb^HUjH#hqMf1AK_@ADtzc{IB#*|Aj+WynKz<`)Qka<79iJy zrswI-DrFYpO3uV_r`YA5$n#fFSPt``+7$6U;~)+ok>5)xfTbjqsKzLL?dhK$Od0SmUV@2!nWO1XF-GZ(Xb}YX(r;TFswhGlsCitt&B-nkV6*< z(lT6z_m7o$IiXE9PSzixY}dmPQf=(^bD-MTz$-ZYBA^^j2c18VFxYaT;azg2V$?fc zCh3tLp}p3ri&(Zmz~;SQ)@$!}gDK#S{ljI~-p)EQ{PT|TB?cAIqOm58iJG-D`OWf9 zha)Q(8J2(EaFEI+eGyW(_5fEW6x#AQVDS2Zd-I9Ty%%3iNwiD(!=O>Y_pGz-_*@jcV z+c{>cs_F3ZAWF9P<#})T>}b`)!R3xJ#4KN%m=s>>T3NZBD?+cz^h@I8)O?;eUBsdT zF4zxadwm2g9*EYAQOxBYnO|?1?2G&4-(51TQd%sZE~h5;SeVK_cZZR$XEbp6y4+J| zhl@h0-(IOKjMUY$gB@%5u*JUETkH?>l)%n|X#Db`&jWrB%aD%(ZHEvdk0NvQrZ^vCCt6>I161&|5?=Ph-&rTNocSiHn<5kUuvH4=O&M6k!v?+ zw{u6*MZq>oHFvwuRT?v29^W6&xl@`YtH9l;5~^`FBO`MIVa5Q|Vf^2^@!L55n<$1q Y_`l=>VaCkz=gjcCsNcl=wiy86KR9wduK)l5 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..26353193d30f0189112bc7ed2ad9293663908a3f GIT binary patch literal 2276 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 Lw~wd_`FH&X*HD}O literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..7048a6264d5c0c5d08281f139f0948caaae8dfd2 GIT binary patch literal 1947 zcmb8w_dnYS0|)T0k@`YKR-O5&kvv1=P!7pEqQni0d7DDDD_^mvy6>jo;d>m z-d6xX9RL7gNT@pjPr?)2NuJ^Uo?ZkzR9#g^Rb4eAgy4>k3JnP-x_gG>{QOCH)qseQ z;Iq6Sz!d=E06;%E*%y8c4=bG*YtlPc&>!qC*CmydZYyCRO^@h+z@+PDe;u6Ph*`(? zaR@oF61^V!HnZj*?b8fJ!P@jO3Ab`8edt^EK?}?mDM!tB6bCqT0ZjJh zykl7-gr8yh=B+!CI^4E&*{71nE`xqdl!R9wXLgIe5IOSI$q+~wH8Q9-m%qy!q_HD< zVoj%%E$D$x%UY!=>rA*78^pic@uf!H5V5!mxI5xt4k-w%orS?!8dCzl}dq5_E+=Ss&s|H7e+=_s2F(ne#9}fKhel&l05nv zvmV>2f*aSbxG?t5{tQf`?vhU`uLmgJrG^3bT<~8TaTTgNC~QP~AhIsQ?K67g#S+^|GpRwmdpLQL`!z4E&IN9KkUCImW3z6V9O~UC zT?OTe75k|NOIDWncsj+9O|73PD7(6meWn&wEy55oOj4L0qou)?j{Gjk2ZFKY@lpe7 z`9Fx7zyE8s3L#vrOIFDJGzor#Y|aZ-a^wbkzFn@$FG$pBzHtG$m4CHQ`O!$bV87a$Vo_ z-+U-N^Xx2Yxhj>axo1+P==<_xLWxR7k(Z!vMEezpfA9w9If<|<;RQ*v2gU0--`ei% zeMB@-A*&`JYmgz$vf>eRqN&5o9!`y$EV^f&7k94x5g8ntOqiy-5(BIA0(m1@71~np z=eL=F78@I4F1ly7X28#ZA?86AfG3D1>MgPszRTp=-T!*{mQ&r-5f#;A#+9_Xo^aL$ z$+q~oRM?tZ-l%Z59valb(0C%3th4$mY}FIdf#x7+sFbf&Uxi%%(ACYFunk|t*#4wt z&?2oS!X&0C<^5Ut80;lwWweOc80dV?;nIWJ|LYKRfk zrIW3rDkXFKL=Pe_R~%-;3u2*zhF!8XNk!2P>fWTFfP<>LSMRj@7ol2UyYHN>>e2=? zMK=4?Lsf`7*BPmUi=ztghh1n=${1$MWCyuy*`ayvqAJBfegf8Hr<_Ni_297P)_-*5 zo?oVelCh-pm|Xk;vy3qi%l9CkAR2HQ&OQ_hdeQ^OCA$ z5wIED0$kVbF0u7+JDTSg9W2IU0BieN;lyoasKyg{q7*aG0- zQJ<-X6|nIs1#w*)ao-p*iYk#1?eHa0$c)M*-h;32@o2Y>+ro^8vwjXYSDhoT=9Tju zIupFG*SCMnAuH~%onR+4d`WIEc`oijb>~dSbvbE<4e(^ z-AEaVx%|ULjaObZ_tGJ-H|aOa=5^l3=C=$Lk2r2hO|ay==klkvhbrL(4bFbEJdMF| zg8n-SJ1XnhwxVvO_DDabnPXEk=NBGrl(sFx;gGtuO?~FX&R|(=iD0cEdZyn7UvXMztbOY+EeH{dHk$B;uZOQMu_U zc)wOCVWR2I!PmZGWAT5w9loe#QoWQiHKu0}D!9nE4z?GSkQIau%V)S#nS|&S5sek5 z3B<-}!&pL|cNsqYD6B N-|O~$75M&r{{bzMqm%#u literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..81f8f6716b79795a6f9f49123b7a606c60961bde GIT binary patch literal 1949 zcmb8w`9Bkk0|)TAHo{zmIZ~mAuwl!QV~)zbJWWP9qRr9coVC0jbL7Z1*<4Ab2)VCe zEtENO=g#q%np=e|S6O^}zQ2Ee_FR*?6Ol8lyv+bAOL_> z006WB001F4#4`X##07W~z3~2C-T^o*ZKwfM8yXfI;E4+l3C0sVz3{jE{E0Z|?Xch= zA$|dXI{**^0GK2t`NFyI(1OwTO-7jx%#{PNnv!( z+N|q~MrlFz<(>gg!bD&5M|q!eJ}1f~m!Jr*;!@kBDkKhk4Jg8~1G9>;kb77Ntt&xZ zCA4^{@nvRTS>G#_t&!Js0k6m+@>1>Pblanm@K?{B7OKZu`yk~yR;!$SGo08yqr-)KQiW&xAN9aA)aO*xl z)JLc9wq*EqRia;K+fyGd$Yq^uh923gQdY?#eD6%qI&@Mljd<*c*q8csq*~#a*hsrTWQ0EEOD9D0^%U*-+-RM64CU#()VqtiB$m97(b#Qnt%2$mMo1= zRAI93U7aIpHjEiW*Cd8|blCkJLFsT{X{Dkinok_x$6?yj$wv|;f}$6{QXVBv@8n{% z4!kZv5v5uVmsY9$#?}iZI}v6At%)ibJ&$`=Zhrf6-sH!7H)j?HK?YXO%Vw_^hjpy9 zc4I;O2=WSZMqagb!IeShrNf4oQWQuv5a%YaXRLR}Ec;Rz8x4uqgwqID8 zZ=$3dslPPpK?7kG&gn8;mZy)-8FU16zRAi-d|K;z?yhZ>l*LCb&ZR)CD%8WlLKpD`d2}BCQ&1 zhp}V)vITV59}l<1NR-ovz1$0_+2PPQcJ=DIIQy)M+{<0ngt8kKf(Iaz8e81ITm2AC z8#(^nfsV>s6S)f4n;wgvm*D3H3Z_;{*`vR?+-c7&cnM~j?~!L9oKvZ6CP?qDZFHHh zdwJ&ydsLn&Xn#+XecZec1%Dg`!eLBbD>FrT6W0rAEj-mTsbXM_RIVlrR5NF2M45p& zYTJQ!dO8(RK6>VX&SpQqqo*^|^CswyJt>GXHNEdcXg9tA$&|{MEtb{|lDm(sv<6*8 zk|6HWK<(bHC5F{R_@SE)?5T~&Bht7ST{uPGYV&#oeSB`n_V8)l8bCI!SxuYo+nH;u zW;#cRM020%rFQQ=t)_+5|IwURF5)V4)9+y~ID2|nV7TrB#aD||XFbReQ@E5}q)(m; zj=&akcx8}j{S3n_hK7oLLJ#H#+C;mGqwAqYv12V0>VUgaLmyR1K_`VRi!~~z;T?-{ z)G-uIaOdqP%4*Fr+xXMLc}-6(R)^KsLe4Y%jvDucq}{XAquUwMX~X`p@ZJUI%s=Vx zy@!e3*W;^Paa1o8=XxKomn;)XSM0e$JM`^)iy@#W;--xoC#*xRoAB1;j-rxlY(7PA zif8~mK5+7vIrk5dJQevri^j1v!bb#S7x`Liwm8HfC)mAR-ySz91^YI7FD$a@?~#H~xzcubeaDdAD( ze__gg+U}{s9kOE6e}N-D`Xe{gHjzSciuFvEGhwwg#sXH~aO$)e9)Mt-*kh_b`UjCn z^-H@Gdif^9E^koJb6BaQRiZyFe{r!ks?cU#ZXQ%Q4U*fn@Gv8)QgTNBO4K{&;BeS! z5|wzY?Cce%Q{7uk0rL_n8!pm>KH6Ssf9Pn(!;9qm-&FqA^1q4U`FH+bI34W-ezOYz O@cgdF?^Or=`~Cy?=b*a) literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..12d6382aadd896fb6ca23887c17bebbe3dcd2dfb GIT binary patch literal 3374 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..40233c756d5ad63489c26ef49bbbb94dcb4fb49b GIT binary patch literal 3372 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..d0f3c1b4c3869fe762972a723aec8613e5bc4586 GIT binary patch literal 6479 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 VMI_|^zTy5;t^e%)f6xQ~_#Xw&Zq5Jz literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..3950995d1ee99c97d0d81b8ba314c3d904a2dd5c GIT binary patch literal 6482 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 RM-D{=078fLI;79{^$%)=E}#Ga literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..3de8575060f7b0aec9306c08e4c91e121b9316b1 GIT binary patch literal 1742 zcmb7_={wtr0)>A>i;JmJq0};VL2Mx^cA;*A#=eeNlF<+$Vkw$RN9vkNGc`?8G!Iq# zIv884Mo~gVqtz1K$92>~cV!avPv< z8UQNP0KgOgfYh{P0uFaAIR!^16_lJrz?_^(DXEy~l-R5IbR0CEoJ5qC zI0bwM08{{Q$j^_nI{zAk4&LJ8OyFN80iNT%9QVyh2E9o5@i z;jqrx$4v=H#onIWkY&NQ<+Ek=sZCpmGREe;s^y{8eCRK(KfvP4!?#+t>K6Y@-^{(Y zVsU0uyRzQ&b7q&MqOn2>@Kfcv-78>j>(U^8L=Gza&vLp>&bTcc59j5mUW>ht< z{N@sxeAD}l100ck?Fpa~4Ws{c$shcoXbJK2(JOv|b$jxtn?;=712DEXWSD5TE6<=U z>c=`(V|3uZ91}Fju`|@FOZ`~w;vPXNV-n`Pt_rZb%>IZ?7N;yiZ#~7 z<7{<^-c=^Xevch7Rc&YBdA~t2eL-g{u-*+mdzk01W_-wk&_$>bx6^7Xdt<~Bu#XGqHi|ht-Z`OFJ*?dRa4p+Tq zaZWfZ_97w4dq1+flV8z-$>6BBd};mkNe(35wfiU#6fp18X8HNy!h5PlS>;yDeq}C? z#OjXBf6Fiva~#%(?-{8{87G@jGA>7GM2s!aA0FJ5fz1fzz&BO({Gzq@Uf+Mgh1GJp%oekiND9%EG$qmgTqcF{cw=^od#E#F7jS7>6w6}L+tS0fA@zv++ z;N0^NTFJzZ$xbfT6OHWSED!|jIm9dhgM`TDWm2!SzL-3NU#$^vjZ-|Bdb+|Ev2fl; ze=TmI1!2KNT0CrOO4jc1%fYPs;WjL@qlFhL_j$l5HLoBoRN+a!YN+cxU5%fCxzHYl zZe|_RcVI8^xQz%ETLh0wjL@?vwJz(wWg&nKQpk%odfPuTMt>K3uwmRNKol4muMJB`-atCOPB~pGCSO_7~{K+RMv`1>0r>am7FiiJw`W?kn)b2vKqh!I1N z1Ua@qgjiA$1i73xs!iBvY(Vr-#G)X?2g~Efb=RWW=~)IdvT>Dt9D97{U>e*#Q%I>g zAmSi}O?d#2F zSS|i5s9?X}?GiK}JMyQBG~7bf3%!Xute_)$bB9j^flc|{L5HkcebP@kfzi!dcnM# z#LYG2sqM#Fr6Z*;!BL=YzXl^x@f6kbDKRz2U`PVqVC;Q+osK2x-BGL_OXDqP4IU%= zL~#`)G)VXIDn~aPbz~LVWV#S}P+zcJOEqM9-J7)8a!#rr%G1&EB?y>YtsXn&&z|@hFkUxWloQ9RLKJgDfX2N7AeG2c(e+*;dA@E_|4O@ZC za{`L9t+N5i;Co?~gX~)9dQvezzChi3K-+DPQ%s-)u{TKh2Y|yAvC!PWT Mv6F_M@VkH3-#pMPrvLx| literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..fb45451072668700c45f471ed3c39468102caaee GIT binary patch literal 1737 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 Yt_J7-d0OCZNIRF3v literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..e9876b8399ffdfdf9c196ca4461b27693c41e713 GIT binary patch literal 2471 zcmb7`c{~#i1IFiAHfL@l2@@+Pxwwr1oB%-p)q4@Sv#|Se1q1-BY5@Rh z001Bi>xsLIjtIh`Lqhxlv1*#?I_jG0A%Ov?KVu*+6y=HY^7RWxtNVupV!_-%fI9#X z0{|Gt#rbIMYXwu8?;8vR^4?+nl-iCHlWe7p2B%lDViojU{i7dFon0V*<(}h^Fhz@Rbe{=2y|v-wmS#ktCCE(R z`O;S0QtJw)88jw8w4k}@|7(n)XF8x5!g#r}^e;Q_XS?Dq54q*>6?k+=s&nI+yD+g} zB7r8IpU;=DJUYsq-9_PmU%iUgj>$jwe0A|sXPx~&hdFYz9M_Z7BE=jm^ON$ieZY&VtRGXA|M1I3Ioj zg36S@*unQSz7I5@)S%=c%#P5~Mf08)G6Ql5TvmX3$Y@>3=gW*xuNTF(A6;p#sNooM z@vi%eu&)EKo4lMk0rASB9~FKKm2>6yfO_l`yLYf(uN{7FpfHp(;5ip_*5DU>)>NL| z{Rn3+8pNhuzMDU$n$Y`|;d|qQ$f#e3!*k#PAhQ!w(HT*By2SD~RHTldr=?>36DKJUMsXeMNcPK2m!AlW;UFD>CDBfF0>tk{3iqG+x zLc+&pgBN9|B;TU4n+7SBT`DWuj}=B}Um&+2VJEPiuOb#4l@ggMcD2pfvF2wD=&i&# zjR5C+zf(|x&AaVIpI*B%aDyyU0_@0T0oiC>7qfw@g2QABjMZ~=@i)+6g^`_xkIEH$m3VyJj5%#7M6WHBY$ZSdp8LngHx$!1>i;;;1*M#Y77y{ZaV?j2$>`_!XK~HG z#CE{$Xb}p#Uv1Ln%-0p@$Y1-*^9R0T${m(Mo=Za+{;ri~g}0{dWaeliWT#4j9jZ$n z;*_6UPse#U48BC;XSURhNQg0xPq-m+&FMl7F5st-)mER$UX?U8 z#o10UZ!*$e+CQrAS6%o=&>7!C5s<~z2io-WZ7-AAm4%)DLf?#nXRNoUG7Ek5G)W<4%#?}UAOp>=$mvWNaP6cfLhvfs_S(Bg!Pya| zW}++tMO{_=^0;F&HvYVDDdmVZQ3~oZbhi$?BsIo8OOE8Dn~VbDq@0l{W85H=SXDgw z!``qi&71m0lBNhrf9Fz_BzQ<5E*T*m!-cT}H&dFvX?W-g6W^#}RDfoD532XNA)Myk zF=&fdCwR{9%Z%DM7q=58_isod*pKKdA9%@-XN5=n_*)r{-`D9Y8dZJip$_)uKz8M% z>AI=ZLV~R*ZU57uX4YgnhG|EcmECoVMQ#eDfoiH{s4!sKe2#`ZX{`CY7QW3;63M5O+@(a*^0~RM=LwhpwCk)~)*M+X>>1gTcl3L^s^0HW0YRmoDsKLZn~S!*?-8 zI035JQFWH;2^Jkl*<50lnrYXzu(g*(hA{17bG<_s<|O1F2^e31%PTfp^ncS6X39+m zp#yCcsi!TchUT9DLYT6#0-`6=HjO(M>p=-ZgJ;BY zBf@Q-);4S+i2F()5#R;Wgc*5}$c-0mdVtgz5%aW}+R+n+>FohcgF)tgm!XZyYEAv5 zuLH$DqsY>;1l(hZ>*%81;5)eqNA9BQeerd2`Jp_Yf8|RpSd1&ztYCU7o#dOK-#!KK zmG#SaSI!u(lvHhtpcDU@70O{W=%mZDYy7Y0UM%x#u-Q Qk-sO7KX(0-y5PU)`u(o!IeQLnGb1Ku1i%Pz1NpAAC{*mH{RK7vSh@-T zasU7XVx0Vg-Gc7>yJ4}Oz8JYH@{00TN8ctXh+ViGL`G(?864g3lsRU^?IWAv~&x7J30T-tp!50ZSdLH)qGz@7t^D6UP zhsSnj#x*w8_quI+kPPOpI!xVkZ{4P?bti>M3-qW1!IV9tfPB_6frPpRJ+w#XpmDye zona^ICUNC0k^&k4o%3GmgY9Zw(U>#~ZsSYNl{5VtJwvnBdGM@;>hR{KN?Wn#luBJ? zs26BD%9v%bUeqVz`lGHyCE<1ZYj7!(n1O9^w(qkVGZ)^U$xSdu@Fv^xGyc%@euX>k zEJASPN+>Yz{5IQyTDG`rYc3f-S8{j&T2D=Z_IBH6l?{8!s2e=hINkg9N#HnYw@4Rc zC}TBKP@=&2Q;`@09uUvxZ8Wi&@zB@9x(!36qGF=FW1j}y)$>X$W5ieJ#hKR;nza$N zId3^`^}S^EUvAUGjH$xX;P;1?@G`ndO6r#6;!ni`MK*pUbUgUgM-LMFDMN#sA8tVm zQc?mcSUV-qpVQ*=Zk}#>xBz{*Z!?K{G3KKt6N-{v_>o!5o)?HgH54XFgfq~EYDWmfUJ&eQ>;?cPl<_0 zuNPWvyd3cnc2s$3k1C*UfSGC~USCUSV(c@225lZdBKm|&N-Ry4@b8}XXgvmDB>iH4 zbw@=%A5>xV&r@!xOX{EfX1CLCL3*MrSX8>oju|RBQ-7>G?HJN+ZtR7tWIi8tZlqi9hF?~ ztC+$wUXCo#;y$t43kkbBRj3LI5yd3w?Y!U>IIj8_z}>g_Mu}v2{ytE}t9@1aiuG?zi681Hi0X|=_{{_2|@`MPXu=!%h#EdLB3(hM)f zU$f{YiGwQ1zyf9%T8V+w`TNHC0J5)mmF;SeiTa z-kgPDx`24wkCs|+j<);IL^V;ORL+Ip?0gYwZWH}Ue=fEnepAbqL)I@rk;zSsetFw6 z^p~HP!;R1>6(JvY)xo#rh6;ctg$EjmPtgpi-cwdm*P|sr)82Fu*`fM5qo5 zD-2YqFj^Ct$rU!Wll;-@=!x@3htVM3;F~KPX)GrK-skh$r?JLqIm|Ic-U;dv2lg08$oVLho93mz8bKb&)F4_ftiFrgdr3=^r#!?=ie?!-OVO zZMunskPk+J4?(P%bZ}-M>r&;A=9jFMq7LR#+;_bLc9pGjp2Lnz z3bL{Fdt^wS?%5@Py^Q`>D1((>WfM*&_9 z$dQ5LV6p)}G)+)yjgA@0FZ41sx%717)kEo=p`?Ma#zUn`l~1hAWI~6#N_0*q35k#1 z0AO9G|GllO=j`_@=Ea#XGf!p4`_3!<@0v9a!YK!IV2p>N*t7##P(mEK-R`5iBTEmrY`h zXn~1lD{KomQ&qogGjP}>si~fGT8?i7eAD+jCgd%Gj}BvO+QGuZ0bm5_Q!`A{E1@*v zAMTzb7O4qAkUI9yV?N+zP*03o#)XuchhNl%R?O+K23XaRUW7U{mYi&X!TcS6r``xkZ(wg&OYPuH!PkI;Qr_5`MJDdE76b zz1|fS{)S{00#o9hGNis(91(Fb2)2RbU0Ft<{+xujfqewcAVn!i1SBFTXZY!mI) zs;9i^wjHaPwOXCN)Xq*^>8Xe}kIM}B0lG5<9dWGT=xx!Z7n(>HMvA{ul!Ewz*<#{R zrv^F*GkQ^nrd|_iDCiL9^DU~-cqS6G6=fRP0i39-_S^Vo^#{7A=!}{4x7r9NTL$2! z;GG2WvE$jm(PK>XywPs^v~O4LDb#9kgmOOG5?{n1 zxqFwF*%M7zeZ*BTxPXC=qhQIi~B+AT) Rh4t?d!=JVLLq+z#=|5u%s8av{ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..56c527b01ba9b7a9a729056d4344dc4194fce3f0 GIT binary patch literal 2460 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 Pdk6kg)IZeX`gi>eF&BpE literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..8b4ca708ad578f2dc935afc00cf136629f8040c4 GIT binary patch literal 2461 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 QfA0eS6#EaMV*jrH0EHfynE(I) literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..94a3448cfbc62ed72f49cbbd1d904edc01723bbf GIT binary patch literal 9657 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 R|MkKCTg(3_Mftz~MbnbAN8mS{Lv0U3~ZJ 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 TFtGpYL;SZE|51wif9d}KYlNyS literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..dd3068c7f96ae3b4dbca55a46da8058db90b91f7 GIT binary patch literal 2364 zcma*p`9IT-0|)T8+ro+@O*Xf3-#1&X4wPeZ4JE{A<|br9j&haz_{cIu_DR`9$#Nve zaxCV)K8obbvAMr}zQ2DTkMHaC!|RvVAMmucU}J{^tN<8D@ce-^jT=>e!VLfxssJDh z06=K4FXpbIcR-M$ijszss#0)(zq?liHXta({dUkDAKx%9C3J8A2E@(*xB>tU01T6p z@2VfD2bK+fCF}DQcVK*_TcC+)wh$v2J-As&4OTan&^fUfv*6Xv^v{olwB9lt*ltzD zaFJdkL#%R$jZ9Cv7D{pi7S&2sK8WPr=0tE`_1*Q(>ZIZCg$l-#4Khl%B7ojg85Ku*^@&p?Fk1Oj zw?}#>neaE<4S(A*lN{>a>RH=Se?bRU-QRl=hj`G{#^&2T65#=-$dY z%}5bl$hJD8&_ha?)?(S*;g#E(NgyEvpe5kbjw9jdKGl?%OZTp?SQU-oaIRk^MJN`F zE|ZCA{8I;48|_6$roPOFC-)TbX!y;62CyIWJklr+k_BJ>Vu9r8&ZD#jtNL@Y%=RBG z&09KUnxbmf*&KzYuO`~Y(CE{wz3Cmgw}=u;R=i+wh_Kx)j&1VmJr8ybHvBbP*{awz zrGk@F>zuyh(%+WP!)xMm_>*X}j zG+Mz{icYtX0?|KQEjO@q`2#)ay{BZkAHF{Cy<=h}&TS!nsgmXvakQE$p0OfS0Bbys zixy_tzUX)I{pR3D_J%=+GsUiBXoz#ybFz9^cg9w1YmG5M)_iRBfi>dUi{b$V#&NPmIUVxVeDhkm=_N9I#?wjvat6{89 z8Blz-f4}sDU-+Svt9s~S-9MV=$0guV4W=vd?Cv0;6v&nuqB>E<;5kAIAt7XaA$xeH z4`^g(H$w{$?M9f_uo=0J+cjqiA_IlWpN-T#!^6)^i8FKBbrAVbqE8uPsuTI13kAf# zHGb)s_h26u6?LuYBj5e--a(OJLVXh&{E_R-bIVgU+BMgpdz#X7xjOgfC~?6lBxf0x z=_ef6T5>MUx&WSZIqa_od^Ne7vZZcW^(QsGE7>Y}5g(0FUaST?cwuSI7^%9tyFa)4 z;)r9J#XTIq>X*Frr{*sG!r%qzjUM+IBX-gLK$rqQhsjx)~&UO&+ zwrfTkb&-!|phE_hohecugXB?WPYNBbeTO)lv$*k4IPY~sqcnBWebZ-Hui92Gzo9b= zgCB3{Y?GkAu1{Y~rzV9yc8EDwgv^19c$wR|0z*wCLU%CtQ+q=R0Fta}70uR)r2XCH z<=vus$y9p9@qrCb)Y}u@yDn1vI?qj^Ewh*b-y-n3K0`YzNKDy2HRob}z-Qa9pvK7- z#yd@63}3qqn;kaD_@9)E9rHMfyF+tyPZ>OW+-m;Y`R6$(my9BLiQDFwtkud!g@)fI zf&QX;2FF(9#m0j5Hr509SyD6>D_`y8ja+^uf;+fe_VjMW@n~&*5_9_r$O5&f5_$wOFQ`aK)-PU(^M5OH@86o2ehC_YDnI$cy z9%sMAyUl+Q+U-d$GhkoV#tu-oys-<>P=t$x@+XLxb0SgJp2EQTv`^;(Gm$NO1>0AX zGVJNZ4EN%7|Bx)+2=(N!r<98-GH+b2#G+iyD2iHW2@|}4OVvsdvqNg4I9_X@L6ZF* zWLB*7W@QykT-#PgJ4pM?RkBFMu4nPqZnK_%MqRHC=KSwBt4)lzc9Ce;>02tAsKli-F?N0 zr;?-J=BNugn=iC4$=GY0SZQmv5DVjSFrUAmy-{-E2%Zf`j(Eejs0;i`(o<_X-wJPz z;oVp-QTXRPcoFx9G*@-db&OKBOmH;az`3sM=0WXOBm`O3{pm9(HENm8gJ+MWMX2%M zuf$odF|g@E9>+0RFN9LU1-X^4Pj44yLqw2HZf>z;6Y@LbRDRtXl%W$Ak+pkytW3Jk zjr=Y7P(AMQO@GK!{hD!K5m=j-L(Bfriwad`QXdue`ze>5+1|K4L<(7);32zMv+DtqmNUv6SSpIe>{UT)3l>&5+y5rbAJzOfIF^6s{{)V; U1qbK9ca}f3|FZ*sj06Dx0oRge2mk;8 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..22e37251d5fbf7f868ccae9b4275ee5a975f1b8a GIT binary patch literal 2366 zcma*p`9IVN0|)T0`#y@CIcM8MGZ<%X2_cIHW5#`t9An0rBjak_WSGGUAwr?Xl_=ww zj9kMKX)&%?waO8i!P7p!Kd;yG`TX$taea2!W+pz^o@z(ySa zE&~7%6%iB`2o6AF!DvNs{XKGNc{! ztA}y5w>n1J7B{~<@_VoC2AY$L?;lfT-sS!_IiY9JZf;Vipip;1#^T2seLyM|K7R;D z%=uu%HroaFKrcEYQS)o;4tT~T323(T7CQa_Q6XEhFP>MGW{0~ZHT41oqR0sbtks&P{F`hYk(gZ`@EVig9kRqvB$kW>?>JoIV!#V$bi_K%m7tSQW~i z#QvyE1jh3@O@9tJzg+?V4TR8H3&*Wi4Hk))A)AJKx#Q2>y-Q2L1)}o@zplh)24(rkaUVSQRXYD|k$sT#+pF39^`5Op z9AUg}q+*w@n+6M(uelZ+CJVEKcFES`jFnyC=QoOn5zKAX($Pg$=ysyAHiu z_$ol`#n$6_2GbI@!uPKFR_DWQ*8&KKx|1ZlE(o)9epVH8^1)JZUZtK*%l-I}rIMde z`X<ukgDA1DW=)PqFk^+wk zx^%i8{kBafk{T0j0iUu4e;&W=7A?4fZ>VMD-q4VpHF8FJ*pMWP zUMoatR6XSkLfNa&1Q*11h6)K)c~_R$mmQHQ=F+7S5%T!g8Bxn!aPj5MS0Svb*Kr^2PiNzF-`z zo60o2Qw+O(l5dzv4{777ku{*@e?DZkhdPVg>rzNAmX0v_p(;gQIc7+h*-f9U(JF z*FkOEfccn?3>hXhx=vwa?Xp@wLRdzTlRO9$q^CJ|Shd z{SXoBT&=-*{T+Tu%~7A2Ioza{LN<$5ptwzl)R={O0BWBTH)cK@A`^F+7VMuNiWTFu z*1kde70tqCMWe6nBJpZSVqox*p6J_v5#AEF?2P>HUZz#aMRrx)%kpOnJ^l~{Mknv|zE4lq z0Xy@&D<8wnbz9ETx!wL`Dh{q+xP$+Fqjy6x*|o6#V!Fy5T8*8J@{Yq4Uri43JSo#B zv78iwG3stL`3Ee`(8yCIE!ZN*haY-3j_lDiXCE5Ydhy}-!R0#BYE_vTBt$?%3n!rF zRGU#L-XH2$%={a^%=d1NL((Yg1?36OT7t{@=EA!?3%m^XJ&8?0K}lLwm)Rdiu4|3? z4FWPYh(_Mm$-E!VUFT3qRcZOQ*=yQh)eU>@P$!&^->RER?8>JED}tUI-X0};)`nXu zpU9mQ6AM+xM9%TgYZ7CSf#-j(BB*Z=+~-Hz`IlurJ}(v&+G+6ZsL`NRt2T9Hm#>a+ z$}cVGbJH+w)1hUfgS0&ZSB|et$ttsYGU;|=5h-C$fhR7vR!oIie@X@>j0Xnp=-h@x zKa7{v&?(G85EGy67&l&zLi7oYe-H1y3Wlxpd6Tl~8w9Vy6CS2;iS&h*UT?Ik(05WR zXXo_a$Ekbhp=%u2rg6-0D60n|y#9u{k7(1nVa%9Dz$k>yQGwbD;nL9=7#7E7N1%By zBbbi%Qy@tZ%A>4mu5B=1BBA*qkIH=Snik5PJl3%|vFIyl`Z7e+?Duw0ac(gy2!rG3 zt+m3c^|n*XuPLTE!w!sexP$Z+i?cdZ7=S@YG04tzt`R}ExP>{iketRG2&Bg!cQZC2 z&!Y-Aal{ohfpJlLlCxy5*15ORmAA8hR_7Nqn{D+`jNDW4<07d8N7J<<<}EVWzVj80 zq4BEXN_pil>M+mbtDTd-I_XEl$p&T7BK6k@36eHV&||Pt-89l~Ryj~C^T@WSE#oTb zky700y#g$v-U;FT?v|gle=2OBx*4CP*ZbRER<_VHuNzCk&+N&m+cv#PqgdO%*>d5L z@BsSLB`Ku6PwW-*6ZP6MQ<>Ool6&k8M~?50(Qi&aYIfV(u&^4l{cqI#bj^Q*WBGUf XPvY3yaB%*6XZcyDpF90iNdWL4$$)X6 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..f6aeaaba7202deefe6a3e34c7e4a788f995c2cf2 GIT binary patch literal 2361 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 VZNbX+@15yyZU64bUmyVh{{eW~Zf^hp literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..87e778600d5b20d3c5001a431c47120cb9c10e17 GIT binary patch literal 4293 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 WTMYyAKW~(OtN-u5|JN!2fd2z&VKYAf literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..d3db72a587a1699f1bafa79529de3a2ffd54b7d3 GIT binary patch literal 4291 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 U8Rb83gnz5^?;8F~6#&5h0VxzVJOBUy literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c6aa3e7c06844cec4c6f17ad86056b67d38b2c15 GIT binary patch literal 2891 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 N>%Tkmm&^dbe*h2@hdBTM literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..298087feabcde047f537644b86593579bdc5f089 GIT binary patch literal 2893 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 xoAVOmG{1g&+E|maj@rYdjE7myITD^+Bli`x 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 Dv#(7s literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..783d4e0ef2ed5a8cf41c824258a48bba6b7616a1 GIT binary patch literal 5771 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a3688063592f63b0a26fc1a926c8aab9ca1baf94 GIT binary patch literal 5768 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..cb145b39d1ce8e40cce5d479643cb87baa58399b GIT binary patch literal 5773 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 literal 0 HcmV?d00001 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